docker挂载mysql配置文件无效

更新时间:02-01 教程 由 静谧 分享

最近使用Docker搭建了一个MySQL环境,但挂载MySQL配置文件却出现了问题。

我在Dockerfile中加入了挂载配置文件的命令:

COPY my.cnf /etc/mysql/my.cnf

然后在docker-compose.yml文件中配置挂载:

volumes:- ./mysql/my.cnf:/etc/mysql/my.cnf- ./mysql/data:/var/lib/mysql

但在启动容器后,MySQL使用的仍然是原来的my.cnf文件,我的修改没有生效。

查阅了一些资料后,发现这是因为MySQL容器中存在一个默认的配置文件,挂载的配置文件并没有被覆盖。

解决方法有两种:

一、删除MySQL容器中的默认配置文件。在启动容器之前,先进入容器内部,删除/etc/mysql/my.cnf文件,然后再启动容器。

docker exec -it mysql_container_name /bin/bashrm /etc/mysql/my.cnfexitdocker restart mysql_container_name

二、将挂载的配置文件命名为其他文件名,在启动容器时指定新的配置文件名:

volumes:- ./mysql/my.cnf:/etc/mysql/myconf.cnf- ./mysql/data:/var/lib/mysqlcommand: --defaults-file=/etc/mysql/myconf.cnf

以上两种方法均能解决挂载MySQL配置文件无效的问题。

声明:关于《docker挂载mysql配置文件无效》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2262121.html