在Docker中安装并运行三个MySQL数据库的操作指南

 更新时间:2025年08月13日 10:04:04   作者:会滑冰的北极熊  
本文介绍了在Docker中安装并运行三个MySQL数据库的步骤,包括安装Docker、拉取镜像、创建网络、配置不同端口启动容器、连接验证及优化措施如数据持久化和资源限制,需要的朋友可以参考下

在 Docker 中安装并运行三个 MySQL 数据库

1. 确保 Docker 已安装和运行

确保 Docker 服务已在你的系统中正确安装和运行,可以通过以下命令检查:

docker --version
docker info

2. 拉取 MySQL 镜像

从 Docker Hub 拉取最新版 MySQL 镜像:

docker pull mysql:latest

3. 创建 MySQL 数据库的网络(可选)

为了便于管理多个容器,可以创建一个自定义网络:

docker network create mysql-network

4. 创建并运行第一个 MySQL 容器

运行以下命令启动第一个 MySQL 容器:

docker run -d \
  --name mysql-db1 \
  --network mysql-network \
  -e MYSQL_ROOT_PASSWORD=rootpassword1 \
  -e MYSQL_DATABASE=db1 \
  -e MYSQL_USER=user1 \
  -e MYSQL_PASSWORD=password1 \
  -p 3306:3306 \
  mysql:latest

参数说明:

  • --name mysql-db1:容器名称。
  • --network mysql-network:使用之前创建的网络。
  • -e MYSQL_ROOT_PASSWORD=rootpassword1:设置 root 用户密码。
  • -e MYSQL_DATABASE=db1:初始化的数据库名称。
  • -e MYSQL_USER=user1-e MYSQL_PASSWORD=password1:设置普通用户及其密码。
  • -p 3306:3306:将本机的 3306 端口映射到容器的 3306 端口。

5. 创建并运行第二个 MySQL 容器

启动第二个 MySQL 容器,需确保端口不冲突:

docker run -d \
  --name mysql-db2 \
  --network mysql-network \
  -e MYSQL_ROOT_PASSWORD=rootpassword2 \
  -e MYSQL_DATABASE=db2 \
  -e MYSQL_USER=user2 \
  -e MYSQL_PASSWORD=password2 \
  -p 3307:3306 \
  mysql:latest

6. 创建并运行第三个 MySQL 容器

启动第三个 MySQL 容器,继续设置不同的端口:

docker run -d \
  --name mysql-db3 \
  --network mysql-network \
  -e MYSQL_ROOT_PASSWORD=rootpassword3 \
  -e MYSQL_DATABASE=db3 \
  -e MYSQL_USER=user3 \
  -e MYSQL_PASSWORD=password3 \
  -p 3308:3306 \
  mysql:latest

7. 验证容器运行状态

使用以下命令查看运行中的容器:

docker ps

你将看到类似如下输出:

CONTAINER ID   IMAGE          COMMAND                  STATUS         PORTS                   NAMES
abcd1234       mysql:latest   "docker-entrypoint.s…"   Up 10 seconds  0.0.0.0:3306->3306/tcp  mysql-db1
efgh5678       mysql:latest   "docker-entrypoint.s…"   Up 10 seconds  0.0.0.0:3307->3306/tcp  mysql-db2
ijkl9101       mysql:latest   "docker-entrypoint.s…"   Up 10 seconds  0.0.0.0:3308->3306/tcp  mysql-db3

8. 连接到 MySQL 数据库

使用 mysql 客户端或其他工具连接到 MySQL 数据库。示例如下:

连接到第一个数据库:

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

连接到第二个数据库:

mysql -h 127.0.0.1 -P 3307 -u user2 -p

连接到第三个数据库:

mysql -h 127.0.0.1 -P 3308 -u user3 -p

优化和注意事项:

持久化数据

如果需要数据持久化,可以为每个容器挂载宿主机目录:

-v /path/to/db1:/var/lib/mysql

资源限制

可以通过 --memory--cpus 参数限制容器资源使用。

备份与恢复

定期使用 docker exec 结合 mysqldump 进行备份。

到此这篇关于在Docker中安装并运行三个MySQL数据库的操作指南的文章就介绍到这了,更多相关Docker安装并运行三个MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker 容器生命周期 架构 以及和VM之间的差异详解

    Docker 容器生命周期 架构 以及和VM之间的差异详解

    这篇文章主要介绍了Docker 容器生命周期 架构 以及和VM之间的差异详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker容器实战之镜像仓库

    Docker容器实战之镜像仓库

    这篇文章主要介绍了Docker容器实战之镜像仓库,文章通过Docker Hub为例,讲解关于镜像仓库的使用,需要的小伙伴可以参考一下
    2022-05-05
  • docker镜像拉取过程和远程代理配置过程

    docker镜像拉取过程和远程代理配置过程

    Docker镜像拉取过程涉及客户端、守护进程、注册表和网络通信,客户端发送请求,守护进程处理并从注册表下载镜像层,配置包括Docker守护进程的代理、TLS设置和防火墙规则,确保网络策略和安全措施到位,以优化镜像拉取和保护传输过程
    2024-11-11
  • docker启动mysql并映射数据目录(含备份脚本)

    docker启动mysql并映射数据目录(含备份脚本)

    本文主要介绍了docker启动mysql并映射数据目录(含备份脚本),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Docker部署SearXNG的方法(宝塔面板为例)

    Docker部署SearXNG的方法(宝塔面板为例)

    SearXNG 是一款开源的元搜索引擎,通过聚合 Google、Bing、维基百科等 240+ 主流搜索引擎的结果,为用户提供无追踪、去中心化的搜索体验,本文以宝塔面板为例详细介绍SearXNG docker部署方法,感兴趣的朋友一起看看吧
    2025-08-08
  • seata docker 高可用部署的详细介绍

    seata docker 高可用部署的详细介绍

    这篇文章主要介绍了seata docker 高可用部署的相关知识,通过相关配置文件实现高可用需要依赖注册中心,配置中心,数据库,需要的朋友可以参考下
    2021-07-07
  • 基于Docker搭建iServer集群

    基于Docker搭建iServer集群

    Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间。这篇文章主要介绍了基于Docker搭建iServer集群,需要的朋友可以参考下
    2022-04-04
  • docker比赛提交常用命令小结

    docker比赛提交常用命令小结

    这篇文章主要介绍了docker比赛提交常用命令小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Docker容器间通信与外网通信的操作

    Docker容器间通信与外网通信的操作

    这篇文章主要介绍了Docker容器间通信与外网通信的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker network如何创建桥接网络

    docker network如何创建桥接网络

    这篇文章主要介绍了docker network如何创建桥接网络问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04

最新评论