使用 Docker-Compose 部署 MySQL 数据库
随着容器技术的不断发展,Docker 已成为部署应用和数据库的重要工具。Docker-Compose 是 Docker 的一个扩展,用于定义和管理多个容器的应用,便于我们快速构建和运行应用环境。本文将详细讲解如何使用 Docker-Compose 部署 MySQL 数据库,适合于所有版本。
环境准备
在开始之前,请确保已安装 Docker 和 Docker-Compose。可以使用以下命令来检查是否已安装:
docker --version
docker-compose --version
如果未安装,可以参考 Docker 官方文档进行安装。
创建项目目录
首先,创建一个新的项目目录,用于存放 Docker-Compose 文件和相关配置:
mkdir mysql-docker
cd mysql-docker
编写 Docker-Compose 文件
在项目目录中,创建一个名为 docker-compose.yml
的文件,内容如下:
version: '3.8'
services:
mysql:
image: mysql:latest
container_name: my_mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password # 设置 MySQL 根密码
MYSQL_DATABASE: my_database # 设置初始数据库
MYSQL_USER: user # 设置数据库用户名
MYSQL_PASSWORD: user_password # 设置数据库用户密码
ports:
- "3306:3306" # 映射数据库端口
volumes:
- mysql_data:/var/lib/mysql # 数据持久化
volumes:
mysql_data: # 定义数据卷
配置项说明
- version: 使用的 Docker-Compose 文件版本。
- services: 定义了一个名为
mysql
的服务。 - image: 使用
mysql:latest
镜像,这是 MySQL 的最新版本。 - container_name: 指定容器的名称为
my_mysql
。 - restart: 设置容器在崩溃后自动重启。
- environment: 设置 MySQL 的环境变量,包括:
MYSQL_ROOT_PASSWORD
: 根账户密码。MYSQL_DATABASE
: 初始化时创建的数据库名称。MYSQL_USER
: 自定义用户。MYSQL_PASSWORD
: 自定义用户的密码。
- ports: 将容器的 3306 端口映射到主机的 3306 端口。
- volumes: 持久化 MySQL 数据目录,确保数据不会因为容器重启而丢失。
启动 MySQL 服务
在项目目录中,运行以下命令来启动 MySQL 服务:
docker-compose up -d
-d
参数表示在后台运行容器。执行后,Docker-Compose 将会自动下载相应的 MySQL 镜像,并创建及启动容器。
查看容器状态
可以使用以下命令查看容器的状态:
docker-compose ps
如果一切正常,你应该能看到 MySQL 容器在运行。
连接 MySQL 数据库
你可以使用 MySQL 客户端工具(如 MySQL Workbench、DBeaver 等)或者命令行工具连接到 MySQL 数据库。以下是使用命令行连接的示例:
mysql -h 127.0.0.1 -P 3306 -u user -p
输入自定义用户的密码即可登录到 MySQL。
停止服务
如果需要停止 MySQL 服务,可以使用以下命令:
docker-compose down
此命令将停止并删除容器,但会保留数据卷。
总结
通过以上步骤,我们成功使用 Docker-Compose 部署了 MySQL 数据库。Docker-Compose 提供了便捷的管理方式,让我们能够快速搭建和配置开发环境。无论是开发测试还是生产环境,Docker 和 Docker-Compose 都是非常强大的解决方案。希望本文对你使用 Docker 部署 MySQL 数据库有所帮助!