下載鏡像
# 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容器內
docker exec -it mysql-service bash
確定Docker內 MySQL 文件相關路徑
# 查找Docker內,MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf

創建本地路徑並掛載Docker內數據
創建本地文件夾
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
創建 MySQL 容器並啟動
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
- --name:為容器指定一個名字
- -p:指定端口映射,格式為:主機(宿主)端口:容器端口
- -e:username="xxx",設置環境變量
- --restart=on-failure:3:是指容器在未來出現異常退出(退出碼非0)的情況下循環重啟3次
- -mount:綁定掛載
- -d:后台運行容器,並返回容器 id
更改字符集
如果想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

