Mac OS 配置Docker+Mysql
目录
1. 拉取 MySQL Docker 镜像
2.查看本地镜像
3.设置 Docker 卷
4.运行一个 MySQL Docker 容器
5. 连接到 MySQL 容器
1. 拉取 MySQL Docker 镜像
要在 Docker 中创建和测试 MySQL 服务器,您要做的第一件事是从Docker Hub拉取 MySQL 官方镜像 。
如果您需要特定版本的 MySQL,请替换
latest
为版本号。您可以运行该
docker images
命令来查看从 Docker Hub 中提取的 Docker 镜像列表。
docker pull mysql
2.查看本地镜像
查看本地镜像,使用以下命令来查看是否已安装了 mysql:
docker images
3.设置 Docker 卷
如您所知,Docker 容器原则上是短暂的,如果容器被删除,任何数据或配置都可能会丢失。然而,Docker 卷提供了一种机制来保存在 Docker 容器内创建的数据。它们是 Docker 用于存储 Docker 容器持久数据的首选机制。
默认情况下,MySQL 将其数据文件存储在该 /data/db/mysql目录中。因此,在部署之前,您需要设置一个 Docker 卷来持久化您的数据库。否则,当容器重新启动时,您的数据将丢失。
让我们创建一个新卷并将其命名为mysql-data
。这将用于存储您的所有数据库信息。
docker volume create mysql-data
您可以通过发出以下命令列出 Docker 已知的所有卷:
docker volume ls
如您所见,我们新创建的名为 Docker 的卷mysql-data
在这里并准备好提供数据。然后可以将其附加到新创建的 MySQL 容器。
4.运行一个 MySQL Docker 容器
现在您的机器上有 MySQL Docker 映像和一个用于保存数据的卷,您可以部署一个容器。您还必须使用MYSQL_ROOT_PASSWORD
环境变量为 MySQL root 用户设置密码。
sudo docker run -d --name=mysql-server -p 3306:3306 -v mysql-data:/data/db/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
-
sudo
:这是一个命令行工具,用于以超级用户(root)权限运行程序。在大多数 Linux 系统中,需要超级用户权限来运行 Docker 命令。 -
docker run
:这是 Docker 的一个命令,用于创建并启动一个新的容器。 -
-d
:这个参数告诉 Docker 在“分离模式”下运行容器,即容器将在后台运行。 -
--name=mysql-server
:这个参数指定了容器的名称,这里设置为mysql-server
。 -
-p 3306:3306
:这个参数用于将容器内部的端口映射到宿主机的端口。这里将容器的 3306 端口映射到宿主机的 3306 端口,这样可以通过宿主机的 3306 端口访问 MySQL 服务。 -
-v mysql-data:/data/db/mysql
:这个参数用于数据卷的挂载。它将宿主机上的mysql-data
目录挂载到容器的/data/db/mysql
目录,这样容器内的数据可以持久化存储在宿主机上。即使容器被删除,数据也不会丢失。 -
-e MYSQL_ROOT_PASSWORD=123456
:这个参数用于设置环境变量。这里设置了 MySQL 的 root 用户的密码为123456
。 -
mysql
:这是 Docker 镜像的名称,告诉 Docker 要运行的是一个 MySQL 数据库容器。
您可以通过列出正在运行的容器来检查容器是否正在运行:
docker ps
5. 连接到 MySQL 容器
您也可以使用基于 GUI 的客户端(例如 navicat)来连接数据库。在 navicat 中指定启动 Docker 容器的机器的 IP 地址,端口,用户名,密码