MySQL MySQL docker 中的 conf 文件

MySQL conf file in MySQL docker

我 运行 MySQL 5.7.20 在使用 the official MySQL docker image 创建的 docker 容器中。 MySQL conf 文件需要挂载到主机 Ubuntu 系统上。

目前 MySQL docker 容器是使用命令

启动的
sudo docker run -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=test \
-v /root/test/mysql/var/lib:/var/lib/mysql \
-v /root/test/mysql/etc:/etc/mysql \
--name test-mysql \
mysql:5.7

然而/root/test/mysql/etc里面没有conf文件...连接到docker容器的bash发现/etc/mysql是空的!

conf 文件位于何处? /etc/mysql/conf.d//etc/mysql/mysql.conf.d/不应该有吗?

如果您 运行 命令没有安装任何卷:

$ docker run -it mysql ls /etc/mysql
conf.d  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d

如果 /root/test/mysql/etc 存在 作为一个空文件夹,并且您将其装载到 /etc/mysql/etc/mysql 的所有内容将是 "replaced" 与 /root/test/mysql/etc.

中的那些

您可以创建一个空的 /root/test/mysql/etc 文件夹并执行以下操作:

docker volume create --driver local \
    --opt type=none \
    --opt device=/root/test/mysql/etc \
    --opt o=bind \
    mysql_vol

sudo docker run -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=test \
-v /root/test/mysql/var/lib:/var/lib/mysql \
-v mysql_vol:/etc/mysql \
--name test-mysql \
mysql:5.7