使用mysql的docker镜像创建一个mysql服务容器,并把my.cnf 和数据库文件映射到宿主机目录

使用Docker创建MySQL容器并映射配置文件和数据目录

以下是在Windows环境下使用Docker Desktop创建MySQL服务容器的步骤。假设你已安装Docker Desktop,并使用PowerShell或命令提示符。

  1. 创建宿主机目录
    • 为数据文件创建目录:mkdir C:\mysql\data
    • 为配置文件创建目录:mkdir C:\mysql\config
  2. 准备my.cnf文件
    • 从MySQL官方镜像复制默认配置文件(可选),或创建自定义的my.cnf文件。
    • 示例:将my.cnf放置在C:\mysql\config\my.cnf。如果没有,可从容器中复制:
      docker run –rm mysql:latest cat /etc/mysql/my.cnf > C:\mysql\config\my.cnf
      • 然后编辑该文件以自定义设置。
    • 运行MySQL容器
      • 使用以下命令创建并启动容器,映射数据目录和配置文件。替换your_root_password为实际密码。
        docker run –name mysql-container -e MYSQL_ROOT_PASSWORD=your_root_password -p 3306:3306 -v C:\mysql\data:/var/lib/mysql -v C:\mysql\config\my.cnf:/etc/mysql/my.cnf -d mysql:latest

          • 参数说明:
            • --name mysql-container:容器名称。
            • -e MYSQL_ROOT_PASSWORD:设置root密码。
            • -p 3306:3306:映射端口。
            • -v C:\mysql\data:/var/lib/mysql:映射数据目录。
            • -v C:\mysql\config\my.cnf:/etc/mysql/my.cnf:映射配置文件。
            • -d:后台运行。
            • mysql:latest:使用最新MySQL镜像。
        1. 验证容器
          • 检查运行状态:docker ps
          • 连接MySQL:使用MySQL客户端连接到localhost:3306,用户名root,密码your_root_password。

        注意:确保Docker Desktop正在运行,且路径使用Windows格式(反斜杠)。如果遇到权限问题,使用管理员权限运行命令提示符。数据和配置会持久化在宿主机目录中。