一、mysql
1、下載鏡像文件
$ sudo docker pull mysql:5.7
2、創建docker實例並運行
docker的3306端口映射到宿主機的3306端口上 {-p 宿主機端口:docker端口 }
dcoker的實例名mysql {--name docker實例名}
docker的mysql的文件夾掛載到宿主機的對應文件上 { -v 宿主機文件:docker文件夾}
docker中的mysql --訪問地址 {宿主機ip:3306} --密碼 {root}
$ sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
查看運行中的實例:
$ sudo docker ps
進入docker實例中:
注意 -it “mysql” 中的 'mysql' 是docker運行的實例名 NAMES,使用 CONTAINER ID 也可以
$ sudo docker exec -it mysql /bin/bash
退出docker實例:
$ exit
3、創建mysql的配置文件my.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重啓docker實例mysql
$ sudo docker restart mysql
進入,docker實例mysql內部
$ sudo docker exec -it mysql /bin/bash
查看配置文件my.conf
$ cat /etc/mysql/my.conf
4、服務器關機重啓之後找回mysql容器實例
列舉出所有的容器,包括正在運行的和沒有運行的容器
$ sudo docker container ls -a
重啓容器實例mysql
$ sudo docker container start mysql
5、設置mysql容器實例自啓動
$ sudo docker update mysql --restart=always
完成!