在CentOS 7上使用Docker快速部署MySQL的完整指南

云信安装大师
90
AI 质量分
27 1 月, 2025
2 分钟阅读
0 阅读

在CentOS 7上使用Docker快速部署MySQL的完整指南

引言

在现代软件开发中,容器化技术已经成为一种标准实践。Docker 作为最流行的容器化平台之一,可以帮助我们快速部署和管理应用程序。本文将详细介绍如何在 CentOS 7 上使用 Docker 快速部署 MySQL 数据库。无论你是新手还是有一定经验的开发者,本文都将为你提供一个清晰、易懂的指南。

准备工作

在开始之前,请确保你已经具备以下条件:

  1. CentOS 7 系统:本文假设你已经在 CentOS 7 上工作。
  2. Docker 已安装:如果你还没有安装 Docker,可以参考 Docker 官方文档 进行安装。
  3. 基本的 Linux 命令行知识:你需要熟悉一些基本的 Linux 命令,如 sudo, systemctl, docker 等。

详细步骤

1. 安装 Docker

如果你还没有安装 Docker,可以使用以下命令进行安装:

代码片段
# 更新系统包
sudo yum update -y

# 安装 Docker 依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 开机自启
sudo systemctl enable docker

2. 拉取 MySQL 镜像

Docker 提供了一个官方的 MySQL 镜像,我们可以直接使用它来部署 MySQL 数据库。

代码片段
# 拉取 MySQL 5.7 镜像
sudo docker pull mysql:5.7

3. 运行 MySQL 容器

接下来,我们将使用 docker run 命令来启动一个 MySQL 容器。

代码片段
# 运行 MySQL 容器
sudo docker run -d --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  -p 3306:3306 \
  mysql:5.7

参数解释:
-d:后台运行容器。
--name mysql-container:为容器指定一个名称,这里我们命名为 mysql-container
-e MYSQL_ROOT_PASSWORD=my-secret-pw:设置 MySQL 的 root 用户密码为 my-secret-pw
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口,这样我们就可以通过主机的 3306 端口访问 MySQL 服务。
mysql:5.7:指定使用的镜像为 mysql:5.7

4. 验证 MySQL 容器是否运行

使用以下命令查看容器是否正常运行:

代码片段
sudo docker ps

你应该会看到类似以下的输出:

代码片段
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                    NAMES
abc123def456   mysql:5.7   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:3306->3306/tcp   mysql-container

5. 连接到 MySQL 数据库

现在,你可以使用 MySQL 客户端连接到刚刚启动的 MySQL 数据库。

代码片段
# 安装 MySQL 客户端
sudo yum install -y mysql

# 连接到 MySQL 数据库
mysql -h 127.0.0.1 -P 3306 -u root -p

输入之前设置的密码 my-secret-pw,你应该能够成功连接到 MySQL 数据库。

6. 持久化数据

默认情况下,Docker 容器的数据是临时的,容器删除后数据也会丢失。为了持久化 MySQL 数据,我们可以将容器的数据目录挂载到主机的某个目录。

代码片段
# 创建数据目录
sudo mkdir -p /var/lib/mysql

# 运行 MySQL 容器并挂载数据目录
sudo docker run -d --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  -p 3306:3306 \
  -v /var/lib/mysql:/var/lib/mysql \
  mysql:5.7

参数解释:
-v /var/lib/mysql:/var/lib/mysql:将主机的 /var/lib/mysql 目录挂载到容器的 /var/lib/mysql 目录,这样 MySQL 的数据就会存储在主机上,即使容器被删除,数据也不会丢失。

7. 停止和删除容器

如果你需要停止或删除容器,可以使用以下命令:

代码片段
# 停止容器
sudo docker stop mysql-container

# 删除容器
sudo docker rm mysql-container

总结

通过本文,你已经学会了如何在 CentOS 7 上使用 Docker 快速部署 MySQL 数据库。我们介绍了如何安装 Docker、拉取 MySQL 镜像、运行 MySQL 容器、验证容器状态、连接到 MySQL 数据库以及如何持久化数据。希望这篇指南对你有所帮助,让你能够轻松地在 CentOS 7 上使用 Docker 部署 MySQL。

如果你有任何问题或建议,欢迎在评论区留言讨论。Happy coding! 🚀

原创 高质量