插件窝 干货文章 docker容器中如何安装mysql(步骤)

docker容器中如何安装mysql(步骤)

MySQL bash 容器 Docker 846    来源:    2025-04-30

在Docker容器中安装MySQL的步骤

方法一:使用官方MySQL镜像(推荐)

  1. 拉取MySQL官方镜像

    docker pull mysql:latest
    

    或指定版本:

    docker pull mysql:8.0
    
  2. 运行MySQL容器

    docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
    

    替换:

    • some-mysql:你想要的容器名称
    • my-secret-pw:root用户的密码
    • tag:MySQL版本标签(如8.0)
  3. 可选参数

    • 映射端口到主机: bash -p 3306:3306
    • 挂载数据卷持久化数据: bash -v /my/own/datadir:/var/lib/mysql
    • 自定义配置文件: bash -v /my/custom:/etc/mysql/conf.d
  4. 完整示例

    docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -v /data/mysql:/var/lib/mysql -d mysql:8.0
    

方法二:在自定义容器中安装MySQL

  1. 创建Dockerfile

    FROM ubuntu:20.04
    RUN apt-get update && \
       apt-get install -y mysql-server && \
       rm -rf /var/lib/apt/lists/*
    EXPOSE 3306
    CMD ["mysqld"]
    
  2. 构建镜像

    docker build -t my-custom-mysql .
    
  3. 运行容器

    docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 -d my-custom-mysql
    

连接MySQL

  1. 进入容器内部

    docker exec -it some-mysql mysql -uroot -p
    
  2. 从外部连接

    mysql -h 127.0.0.1 -P 3306 -u root -p
    

注意事项

  1. 生产环境建议:

    • 设置强密码
    • 使用数据卷持久化数据
    • 限制容器资源使用
    • 配置适当的MySQL参数
  2. 环境变量选项:

    • MYSQL_DATABASE:初始化时创建的数据库
    • MYSQL_USERMYSQL_PASSWORD:创建用户并授权
    • MYSQL_ALLOW_EMPTY_PASSWORD:允许空密码(不安全)
  3. 查看日志:

    docker logs some-mysql
    

使用官方镜像是最简单、最安全的方式,推荐在生产环境中使用。