docker容器部署mysql
一、镜像准备
mysql镜像下载地址:https://hub.docker.com/_/mysql
这里以下载5.7.31为例
docker pull mysql:5.7.31
下载后可以通过命令查看
docker images
可以将下载好的命令保存为本地文件,方便日后使用,避免重复下载(会保存在当前目录下)
docker save mysql:5.7.31 -o mysql.5.7.31.tar
可以将保存的镜像文件加载
docker load -i mysql.5.7.31.tar
二、一个简单的实例
运行实例
docker run -d --name mysql --restart always \
-e MYSQL_ROOT_PASSWORD=admin \
-e TZ=Asia/Shanghai -p 3306:3306 \
-v /data/mysql:/var/lib/mysql \
mysql:5.7.31 \
--character-set-server=utf8 \
--collation-server=utf8_general_ci
说明:
- --name mysql 指定实例名称 “mysql” 可以根据需要更改
- --restart always 容器退出时总是重启容器
- -e MYSQL_ROOT_PASSWORD=admin 配置root用户的密码为 “admin”
- -e TZ=Asia/Shanghai 设置容器时区为 亚洲/上海
- -p 3306:3306 暴露容器的端口给主机,前面是主机端口,后面是容器端口
- -v /data/mysql:/var/lib/mysql 容器卷挂载,宿主机的 “/data/mysql” 目录与容器的 "/var/lib/mysql" 挂载
- --character-set-server=utf8 --collation-server=utf8_general_ci 设置默认编码格式为utf8,解决中文乱码问题
查看mysql日志
docker logs -f mysql
说明:
- -f 参数持续跟踪日志变化 可以省略
- mysql 为容器名称,根据实际名称调整
通过shell访问容器内部
docker exec -it mysql bash
通过sql文件初始化数据库
docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /data/db_backup.sql
说明:
- 第一个 mysql 是容器名称根据实际情况填写
- /data/db_backup.sql sql文件存放的位置

浙公网安备 33010602011771号