当前位置: 首页 > article >正文

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

在 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

优化和注意事项:

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

    -v /path/to/db1:/var/lib/mysql
    
  2. 资源限制
    可以通过 --memory--cpus 参数限制容器资源使用。

  3. 备份与恢复
    定期使用 docker exec 结合 mysqldump 进行备份。



http://www.kler.cn/a/505351.html

相关文章:

  • Android BitmapShader更简易的实现刮刮乐功能,Kotlin
  • RabbitMQ(三)
  • 上传自己的镜像到docker hub详细教程
  • [AI部署-tensorRT] customlayer定义添加过程解析
  • 易语言文字识别OCR
  • 【Node.js的安装与配置】
  • 快速上手 HarmonyOS 应用开发
  • np.gradient() 获取单个,一维,二维坐标点的梯度值
  • Oracle分析工具-Logminer手动指定归档文件
  • Tabby - 开源的自托管 AI 编码助手
  • 计算机网络速成
  • centos 7 CA认证中心
  • ChatGLM:从GLM-130B到GLM-4全系列大语言模型
  • ARM与x86:架构对比及其应用
  • AWS云计算概览(自用留存)
  • 适配器模式案例
  • 【2024年华为OD机试】 (B卷,100分)- 太阳能板最大面积(Java JS PythonC/C++)
  • Docker实战案例:构建并部署一个Node.js Web应用
  • Python数据处理(一)- Pandas 安装与数据结构介绍
  • 【时时三省】(C语言基础)经典笔试题3
  • 1Spark 基础
  • 信息系统安全设计方案,软件系统安全设计总体解决方案(Word原件)
  • docker-compose和docker-harbor
  • 大模型训练_硬件微调知识增强
  • GLM: General Language Model Pretraining with Autoregressive Blank Infilling论文解读
  • 网络技术发展的演变与未来展望