一、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
完成!