下载镜像
# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本latest
docker pull mysql
# 运行mysql命名容器名称为mysql-service并且设置root账号初始密码为root
docker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" mysql
docker exec -it mysql-service bash
# 查找Docker内,MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf
创建本地文件夹
mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data
将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可
docker cp mysql-service:/etc/mysql/my.cnf /root/docker/mysql/conf
docker run --name mysql-server -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf --mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql --restart=on-failure:3 -d mysql
如果想Mysql在后续的操作中中文不出现乱码,则需要修改配置文件内容
#登录mysql
mysql -uroot -p
#查看mysql字符集命令
show variables like ‘%char%‘;
[mysqld] character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8
重启docker mysql-server容器
docker restart mysql-server
原文:https://www.cnblogs.com/weile0769/p/11863779.html