#|Docker部署(MySQL)

1 新建compose.yml

version: '3' services: mysql: image: mysql:5.7 container_name: mysql-5.7 privileged: true restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_USER: root MYSQL_PASS: 123456 TZ: Asia/Shanghai command: --wait_timeout=28800 --interactive_timeout=28800 --max_connections=1000 --default-authentication-plugin=mysql_native_password volumes: - "/home/xindaqi/mysql-5.7/data:/var/lib/mysql" - "/home/xindaqi/mysql-5.7/config/my.cnf:/etc/mysql/my.cnf"

2 参数解析
序号 参数 描述
1 image MySQL对应版本的镜像
2 container_name 容器名称
3 privileged 授权
4 restart 重启MySQL容器,always,启动失败时一直尝试重启
5 ports MySQL运行端口,格式:host-port:docker-port
6 environment MySQL环境,包括用户名和密码
7 command 连接超时配置及授权配置
8 volumes Docker容器中的MySQL数据挂载到宿主机路径,格式:host-path:docker-path
9 /var/lib/mysql 数据库文件路径
10 /etc/mysql/my.cnf 数据库配置文件路径
3 启停
  • 前台启动
docker-compose -f compose.yml up

  • 守护进程启动
docker-compose -f compose.yml up -d

  • 停止
docker-compse -f compose.yml stop

  • 停止并删除容器
docker-compose -f compose.yml down

4 小结
  • 必须将容器的数据库挂载到宿主机目录,添加volumes配置
  • 停止当前容器时,选择stop仅停止,选择down会删除当前镜像

    推荐阅读