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: