在 Docker 中部署 MySQL 并挂载配置文件,可以使用以下步骤:
创建本地目录
首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。例如,创建一个名为 mysql
的目录,用于存放 MySQL 的配置文件。
mkdir mysql mkdir mysql/conf mkdir mysql/data
拉取 MySQL 镜像
使用以下命令从 Docker Hub 上拉取 MySQL 的最新镜像:
docker pull mysql
启动 MySQL 容器
使用以下命令启动一个名为 mysql 的 MySQL 容器,并将主机的 mysql
目录挂载到容器内的 /etc/mysql/conf.d
目录:
docker run --name mysql -v /root/mysql/conf:/etc/mysql -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3307:3307 mysql:5.7 --defaults-file=/etc/mysql/my.cnf
其中,--name
指定容器名称,-v /path/to/mysql:/etc/mysql/conf.d
将主机的 mysql
目录挂载到容器内的 /etc/mysql/conf.d
目录,-v /path/to/mysql/data:/var/lib/mysql
将主机的 mysql/data
目录挂载到容器内的 /var/lib/mysql
目录,-e MYSQL_ROOT_PASSWORD=<password>
指定 MySQL 的 root 用户的密码,-d
表示以后台模式启动容器,-p 3306:3306
将容器的 3306 端口映射到主机的 3306 端口。
修改 MySQL 配置文件
在主机的 mysql
目录中创建一个名为 my.cnf
的文件,用于修改 MySQL 的配置。例如,以下是一个简单的配置文件示例:
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
在这个示例中,我们指定了 MySQL 的字符集和排序规则。
重启 MySQL 容器
在主机的 mysql
目录中修改 my.cnf
文件后,需要重启 MySQL 容器使配置生效。使用以下命令重启容器:
docker restart mysql
连接 MySQL
使用以下命令连接到 MySQL:
mysql -h 127.0.0.1 -P 3306 -u root -p
其中,-h
指定 MySQL 的 IP 地址,-P
指定 MySQL 的端口,-u
指定用户名,-p
表示需要输入密码。
以上就是在 Docker 中部署 MySQL 并挂载配置文件的步骤。需要注意的是,MySQL 的配置文件可以根据实际需求进行自定义,可以参考 MySQL 官方文档进行配置。