【Docker】Docker部署MySQL并设置数据持久化教程:

在Docker中部署MySQL,并设置数据持久化,可以确保数据在容器重新启动或迁移时不会丢失。以下是详细的教程:

蓝易云服务器 - 【Docker】Docker部署Mysql并设置数据持久化教程_MySQL

  1. 拉取MySQL镜像
    首先,打开终端或命令行界面,执行以下命令来从Docker Hub上拉取MySQL官方镜像:
docker pull mysql
  • 1.
  1. 创建MySQL数据目录
    在您想要持久化存储MySQL数据的位置上创建一个目录。例如,我们在当前用户的Home目录下创建一个名为 mysql_data的目录:
mkdir ~/mysql_data
  • 1.
  1. 运行MySQL容器
    使用以下命令运行MySQL容器,并挂载数据目录到容器中:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=<your_password> -v ~/mysql_data:/var/lib/mysql mysql
  • 1.

这里,您需要将 <your_password>替换为您希望设置的MySQL root用户密码。

  1. 验证MySQL容器是否运行
    运行以下命令来查看MySQL容器的运行状态:
docker ps
  • 1.

您应该能够看到 mysql-container容器正在运行,并且将主机的3306端口映射到容器的3306端口。

  1. 测试MySQL连接
    使用MySQL客户端工具,如MySQL命令行客户端或MySQL Workbench等,连接到MySQL服务器。在连接时,将服务器地址设置为Docker主机的IP地址(可以使用 docker-machine ip命令来获取)和3306端口,以及您在步骤3中设置的root密码。
  2. 持久化数据测试
    在MySQL容器中创建或修改数据库和表,然后停止并删除MySQL容器:
docker stop mysql-container
docker rm mysql-container
  • 1.
  • 2.
  1. 重新启动MySQL容器
    使用以下命令重新启动MySQL容器,并再次连接到MySQL服务器:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=<your_password> -v ~/mysql_data:/var/lib/mysql mysql
  • 1.

现在,您应该能够看到在上一步中创建或修改的数据库和表仍然存在。

通过以上步骤,您已经成功地在Docker中部署了MySQL,并设置了数据持久化,确保数据在容器重新启动或迁移时得以保留。