Win10 Docker MySQL 本地持久化
引言
随着云计算和容器技术的快速发展,Docker 已经成为了开发者们喜爱的工具之一。它提供了轻量级、可移植和可扩展的容器环境,使得应用程序的部署和管理变得更加简单和高效。本文将介绍如何在 Windows 10 上使用 Docker 镜像运行 MySQL 数据库,并将数据持久化保存在本地。
准备工作
在开始之前,我们需要先安装 Docker Desktop for Windows。请访问 Docker 官网( Windows 10 的 Docker Desktop 版本。
此外,我们还需要一个 MySQL 数据库的 Docker 镜像。在命令行中执行以下命令,下载并安装 MySQL Docker 镜像:
docker pull mysql:latest
创建并运行 MySQL 容器
在本地持久化 MySQL 数据之前,我们首先需要创建一个 MySQL 容器。执行以下命令:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=password mysql
上述命令将创建一个名为 mysql-container
的容器,并将容器内的 MySQL 服务监听的端口映射到主机的 3306 端口。-e MYSQL_ROOT_PASSWORD=password
参数设置了 MySQL 的 root 用户密码为 password
。
本地持久化数据
默认情况下,Docker 容器的数据是临时存储在容器的文件系统中的,一旦容器被删除,所有数据也将被清除。为了将 MySQL 数据持久化保存在本地,我们可以通过挂载一个本地目录到容器中的 /var/lib/mysql
目录来实现。
首先,创建一个目录以存储数据库文件。执行以下命令:
mkdir /path/to/mysql-data
接下来,我们需要停止并删除之前创建的 MySQL 容器。执行以下命令:
docker stop mysql-container
docker rm mysql-container
最后,重新创建 MySQL 容器,并将本地目录挂载到容器的 /var/lib/mysql
目录。执行以下命令:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=password -v /path/to/mysql-data:/var/lib/mysql mysql
现在,MySQL 数据库将会在 /path/to/mysql-data
目录下持久化保存,即使容器被删除,数据也会被保留。
使用 MySQL 容器
现在,我们可以通过连接到 MySQL 容器来使用 MySQL 数据库。在命令行中执行以下命令:
docker exec -it mysql-container mysql -u root -p
然后输入之前设置的密码 password
,即可进入 MySQL 数据库的命令行界面。
总结
通过使用 Docker 在 Windows 10 上运行 MySQL 数据库,并将数据持久化保存在本地,我们可以轻松地创建和管理数据库实例。这种方法不仅可以提高开发效率,还能保证数据的安全性和可靠性。
希望本文对你有所帮助,祝你在使用 Docker 和 MySQL 进行开发和部署时取得成功!
附录
Docker 容器和本地目录的关系图
erDiagram
Docker --|> Container
Docker --|> Local Directory
Container --|> Local Directory
Docker 容器和本地目录的序列图
sequenceDiagram
participant Docker
participant Container
participant Local Directory
Docker ->> Container: Create
Docker ->> Local Directory: Create
Docker ->> Container: Start
Docker ->> Local Directory: Mount
Docker ->> Container: Stop
Docker ->> Container: Remove
Docker ->> Local Directory: Delete
参考资料
- Docker Documentation:
- MySQL Docker Hub: