【Docker】Docker部署MySQL并设置数据持久化教程:
在Docker中部署MySQL,并设置数据持久化,可以确保数据在容器重新启动或迁移时不会丢失。以下是详细的教程:
- 拉取MySQL镜像:
首先,打开终端或命令行界面,执行以下命令来从Docker Hub上拉取MySQL官方镜像:
docker pull mysql
- 创建MySQL数据目录:
在您想要持久化存储MySQL数据的位置上创建一个目录。例如,我们在当前用户的Home目录下创建一个名为mysql_data
的目录:
mkdir ~/mysql_data
- 运行MySQL容器:
使用以下命令运行MySQL容器,并挂载数据目录到容器中:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=<your_password> -v ~/mysql_data:/var/lib/mysql mysql
这里,您需要将 <your_password>
替换为您希望设置的MySQL root用户密码。
- 验证MySQL容器是否运行:
运行以下命令来查看MySQL容器的运行状态:
docker ps
您应该能够看到 mysql-container
容器正在运行,并且将主机的3306端口映射到容器的3306端口。
- 测试MySQL连接:
使用MySQL客户端工具,如MySQL命令行客户端或MySQL Workbench等,连接到MySQL服务器。在连接时,将服务器地址设置为Docker主机的IP地址(可以使用docker-machine ip
命令来获取)和3306端口,以及您在步骤3中设置的root密码。 - 持久化数据测试:
在MySQL容器中创建或修改数据库和表,然后停止并删除MySQL容器:
docker stop mysql-container
docker rm mysql-container
- 重新启动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
现在,您应该能够看到在上一步中创建或修改的数据库和表仍然存在。
通过以上步骤,您已经成功地在Docker中部署了MySQL,并设置了数据持久化,确保数据在容器重新启动或迁移时得以保留。