Docker Compose 部署 MySQL 用于开发调试

Docker Compose 部署 MySQL 用于开发调试

在开发过程中,使用 Docker Compose 部署 MySQL 可以快速启动并管理数据库服务,本文将介绍如何使用 Docker Compose 部署 MySQL 8.2.0,适用于本地开发和调试场景。

环境要求

  • Docker 19.03 或更高版本
  • Docker Compose 1.27.0 或更高版本

Docker Compose 配置详解

以下是 docker-compose.yml 文件配置,用于启动一个 MySQL 容器,设置端口、环境变量、存储挂载和网络配置。

docker-compose.yml

services:
  mysql:
    image: mysql:8.2.0
    restart: always
    mem_limit: 1G
    ports:
      - "13306:3306"
    container_name: mysql
    hostname: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=_admin123
      - TZ=Asia/Shanghai
    networks:
      - custom
    volumes:
      - ./storage:/var/lib/mysql

networks: 
  custom:
    external: true
    driver: bridge

配置说明

  • 镜像与容器

    • 使用 MySQL 8.2.0 官方镜像。
    • container_name 设置为 mysql,便于管理。
    • hostname 设置为 mysql,用于容器内的主机名解析。
  • 端口映射

    • 13306:3306 将主机的 13306 端口映射到容器的 3306 端口,3306 是 MySQL 的默认端口。你可以通过 localhost:13306 连接到本地 MySQL 服务。
  • 资源限制

    • mem_limit: 1G 限制容器最大使用 1GB 内存,避免开发环境中资源耗尽。
  • 网络配置

    • 使用名为 custom 的外部网络,并设置为 bridge 模式,以确保容器能够与其他服务互通。
  • 环境变量

    • MYSQL_ROOT_PASSWORD 用于设置 MySQL root 用户的密码,本文设置为 _admin123,请根据需要修改。
    • TZ 设置时区为 Asia/Shanghai,确保数据库使用正确的本地时间。
  • 挂载卷

    • ./storage:/var/lib/mysql 将本地目录 ./storage 挂载到容器内的 /var/lib/mysql,用于存储 MySQL 数据,确保数据库的数据持久化,即使容器重启也不会丢失数据。

启动 MySQL

确保你已经安装了 Docker 和 Docker Compose,并在项目根目录下创建了 docker-compose.yml 文件。

  1. 运行以下命令启动 MySQL 服务:

    docker-compose up -d
    
  2. 启动完成后,可以通过以下命令查看容器状态:

    docker-compose ps
    

    输出示例:

    Name                Command               State          Ports
    ----------------------------------------------------------------------
    mysql      docker-entrypoint.sh mysqld     Up       0.0.0.0:13306->3306/tcp
    
  3. 连接 MySQL 数据库:

    你可以使用本地 MySQL 客户端或任何数据库管理工具,通过以下信息连接数据库:

    • 主机名:localhost
    • 端口:13306
    • 用户名:root
    • 密码:_admin123
  4. 登录容器内部并使用 MySQL 客户端:

    docker exec -it mysql mysql -uroot -p
    

    输入设置的 root 密码 _admin123,即可进入 MySQL 命令行。

常见问题

  • 连接失败:请确保防火墙允许 13306 端口的访问,并确认容器正常启动。
  • 存储卷权限问题:如果遇到数据卷权限错误,检查挂载的 ./storage 目录是否存在并具有正确的读写权限。

总结

本文介绍了如何使用 Docker Compose 快速部署 MySQL 8.2.0 单节点数据库服务,适合在开发和调试中使用。通过合理配置端口、存储、环境变量和资源限制,可以满足本地数据库服务的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值