前言
最近在学习docker 过程中遇到这样一个问题:在mysql容器中修改了mysql相关的配置,重启mysql 服务时,docker中的mysql容器会关闭。这时候使用docker start 容器名,却无发启动关闭的mysql容器。使用docker logs -f 容器名 查看mysql容器日志的时候发现,相关配置配错了,mysql容器无法启动,这时候需要在主机中修改docker 容器的配置文件。
主要有两种方式1 直接在主机修改容器中的文件 2 使用 docker cp 将容器中的文件复制到本地。
方法一(直接修改容器内文件):
使用docker inspect containerId(或者容器名称)指令,在获取到容器的元数据中找到对应数据。UpperDir 对应的元数据为容器的根目录。
docker inspect mysql01| grep UpperDir
使用上述命令获取相应的元数据。
对于修改mysql 容器中的mysql配置文件,在UpperDir 对应的元数据对应的元数据后面加上配置文件在容器的位置即可,注意my.cnf 与mysql.cnf 是同一个文件,对于一个的修改会引起另外一个文件的修改。
vim /var/lib/docker/overlay2/b77ecfcfe13c8befd47d38d08db7364b28eb199dd30dc11e5cd1c3b485d4117d/diff/etc/mysql/mysql.cnf
将错误修改后,可以正常启动容器。
方式二 docker cp 方法
使用docker cp mysql-1 containerId(或者容器名称) :/etc/mysql/my.cnf(要复制文件在容器中的位置) /opt(本机位置) 将对应文件复制出来,修改完以后再用docker cp /opt(本机位置) containerId(或者容器名称) :/etc/mysql/my.cnf(要复制文件在容器中的位置)将文件复制回去。
参考链接:https://blog.csdn.net/chenzz2560/article/details/109067287
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)