Docker 搭建 MySQL 8.0 详细教程:挂载本地磁盘存储数据
-
首先,安装 Docker 和 Docker-Compose。
-
创建一个新的文件夹,用于存储 Docker-compose 文件和 MySQL 数据。
-
在新的文件夹中创建一个 Docker-compose.yml 文件,并添加以下内容:
version: '3.4'
services:
db:
image: mysql:8.0.25
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
volumes:
- ./data:/var/lib/mysql
ports:
- "3306:3306"
在此示例中,我们使用 MySQL 8.0.25 的官方镜像,定义了一个名为 'db' 的服务,并将其与 MySQL 的标准端口 3306 相关联。我们设置了 MySQL 的 root 密码,并为 MySQL 创建了一个新的数据库和用户。
我们还定义了一个名为 'volumes' 的卷,它将 MySQL 数据存储在主机上的 ./data 文件夹中。这是一种很好的方法,因为它允许我们将 MySQL 数据存储在本地磁盘上,而不是在 Docker 容器中。
- 执行以下命令启动 Docker-compose:
docker-compose up -d
此命令将在后台启动 MySQL 容器,并将其与我们定义的服务名称 ('db') 相关联。Docker 会自动下载 MySQL 镜像并启动容器。在容器启动后,我们可以使用以下命令检查容器是否正在运行:
docker ps
- 如果一切顺利,我们现在可以使用 MySQL 客户端连接到我们的 MySQL 服务器。使用以下命令连接到 MySQL 服务器:
mysql -u myuser -p
- 使用以下命令检查 MySQL 服务器版本:
SELECT @@version;
- 现在,我们可以将 MySQL 数据挂载到本地磁盘上的 ./data 文件夹中。如果我们以后需要重新启动容器,我们可以保留 MySQL 数据。因此,我们可以使用以下命令停止和删除容器:
docker-compose down
如果我们重新启动容器,它将使用我们在 ./data 文件夹中存储的 MySQL 数据来启动。这是一个很好的方法,因为我们可以将 MySQL 数据存储在本地磁盘上,而不是在 Docker 容器中。
原文地址: https://www.cveoy.top/t/topic/mkgv 著作权归作者所有。请勿转载和采集!