1、下载mysql 5.7镜像
2、创建mysql容器并启动
1
| docker run -d -p 3306:3306 -e MYSQL_USER="ppx" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqltest1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci
|
对上述参数进行解释:
-e MYSQL_USER="" :设置用户名
-e MYSQL_PASSWORD="":设置该用户的密码
-e MYSQL_ROOT_PASSWORD="":设置root用户密码
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_general_cli:设置字符规则为utf8_general_cli
3、对mysql进行挂载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| mkdir /opt mkdir /opt/mysql mkdir /opt/mysql/conf mkdir /opt/mysql/data 创建并修改my.cnf配置文件 vim /opt/mysql/conf/my.cnf my.cnf添加如下内容: [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password [client] default-character-set=utf8 [mysql] default-character-set=utf8
|
挂载目录可以按照自己想法建,但上下级关系要正确,即mysql下有conf 和 data。
4、创建容器并启动
1
| docker run -d -p 3307:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7
|
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /opt/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件
-v /opt/mysql/data:/var/lib/mysql:映射数据目录