docker安装mysql多版本
docker 2026-04-03 23:06:28

1、镜像下载

C/C++ Code复制内容到剪贴板
  1. docker pull mysql:8.0  

 

2、镜像启动时,参数挂载

卷挂载情况:

宿主机路径 容器路径 用途
xxx/docker/mysql80/data /var/lib/mysql 数据库数据文件,持久化数据库内容
docker/mysql80/logs /var/log/mysql 独立日志文件夹,方便清理日志,不会影响数据卷
docker/mysql80/conf  /etc/mysql/conf.d 自定义 MySQL 配置,可以放 .cnf 文件

优点:

数据和日志分开,容器体积不会膨胀

配置和数据都持久化,重启容器不会丢数据

日志独立,方便手动清理或轮转

 

3、Environment variables

变量 作用
MYSQL_ROOT_PASSWORD 123456  root用户密码
MYSQL_USER guest  创建普通用户 guest
MYSQL_PASSWORD guest123456 guest 用户密码
MYSQL_DATABASE guest 启动时自动创建 guest 数据库

优点:

容器启动时自动创建数据库和用户

后续应用可以直接用 guest/guest123456 连接 guest 数据库

root 用户也可用 123456 进行管理
 

清理日志(以后容器运行一段时间后)

# 清空日志文件

rm -rf "/xxx/docker/mysql80/logs/*"

 

挂载自定义配置文件

在 /Users/yoyo/docker/mysql80/conf/ 放 .cnf 文件,例如调整 max_connections、innodb_buffer_pool_size 等

容器重启后配置生效

 


 

宿主机端口(Host Port)

这个端口决定你从 Mac 或 NAS 访问容器 MySQL 的端口

如果你只启动一个容器,可以映射 3306:3306

如果启动多个 MySQL 容器,需要 宿主机端口不重复,例如:

容器            容器端口 宿主机端口       备注

mysql80         3306       3308             第一个容器,Host Port 用 3308

mysql81         3306       3309             第二个容器,Host Port 用 3309

 


 

 

 

本文来自于:http://www.yoyo88.cn/study/docker/717.html

Powered by yoyo苏ICP备15045725号