文章目录
- 前言
- 一、问题描述
- 二、解决方案
- 1. 搜索 MySQL 镜像
- 2. 拉取 MySQL 镜像
- 3. 创建并运行 MySQL 容器
- 参数说明:
- 4. 验证容器是否运行
- 5. 进入 MySQL 容器
- 三、总结
前言
在日常开发和部署中,MySQL 是最常用的关系型数据库之一。借助 Docker,我们可以快速拉取 MySQL 镜像并运行容器,简化数据库的安装和管理。本文将详细介绍如何使用 Docker 部署 MySQL,包括镜像搜索、拉取、创建容器、端口映射和数据持久化等关键步骤。
一、问题描述
在实际项目中,我们通常需要一个可随时启停、易于管理的 MySQL 数据库。手动安装 MySQL 可能涉及较多的配置和依赖问题,而使用 Docker 方式可以大大简化这一过程。
本文的目标是使用 Docker 快速搭建 MySQL 数据库,并进行基本的端口映射和数据持久化,以便后续开发使用。
二、解决方案
1. 搜索 MySQL 镜像
首先,我们可以使用以下命令在 Docker Hub 中搜索 MySQL 相关镜像:
docker search mysql
执行后,将会返回一个 MySQL 相关镜像的列表,其中 mysql
是官方维护的镜像。
2. 拉取 MySQL 镜像
使用以下命令拉取 MySQL 官方镜像:
docker pull mysql:latest
如果需要指定特定版本,例如 MySQL 5.6,可以使用:
docker pull mysql:5.6
拉取完成后,可以通过 docker images
命令查看本地镜像列表。
3. 创建并运行 MySQL 容器
运行以下命令,创建MySQL的文件夹:
mkdir mysql
cd mysql
运行以下命令,在 Docker 中创建并启动一个 MySQL 容器:
docker run -id \
-p 3307:3306 \
--name=mysql_app \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
参数说明:
-i
:使容器保持交互模式,允许用户进入。-d
:后台运行容器。-p 3307:3306
:将宿主机的 3307 端口映射到容器的 3306 端口,防止与本机已有的 MySQL 端口冲突。--name=mysql_app
:设置容器名称为mysql_app
。-v $PWD/conf:/etc/mysql/conf.d
:将宿主机当前目录下的conf
文件夹挂载到 MySQL 配置目录,方便修改配置。-v $PWD/logs:/logs
:将日志文件存储到宿主机的logs
目录,方便查看日志信息。-v $PWD/data:/var/lib/mysql
:将 MySQL 数据库的数据文件存储到宿主机data
目录,实现数据持久化。-e MYSQL_ROOT_PASSWORD=123456
:设置 MySQL root 用户的密码为123456
。mysql:5.6
:使用 MySQL 5.6 版本。
4. 验证容器是否运行
使用以下命令查看正在运行的容器:
docker ps
如果 MySQL 正常运行,你会看到 mysql_container
在列表中。
5. 进入 MySQL 容器
执行以下命令进入 MySQL 容器的 Shell,即可进入 MySQL 命令行
docker exec -it mysql_app mysql -uroot -p123456
部署成功!
三、总结
本文介绍了如何使用 Docker 部署 MySQL,包括:
- 搜索 MySQL 官方镜像
- 拉取 MySQL 镜像
- 创建 MySQL 容器并设置端口和数据持久化
- 验证容器状态并连接 MySQL
通过 Docker 部署 MySQL,避免了繁琐的手动安装过程,使开发环境更加轻量和高效。后续可以基于此进一步配置 MySQL,例如创建用户、调整字符集等。