修改了docker容器中的配置信息,由于配置信息错误,导致docker无法启动
在做增量备份的时候,修改了数据库配置,其中的一个配置没改,然后就restart整个mysql服务配置,导致docker服务直接down掉,无法重启。
如何挽救配置错误的docker
方法一
找到并修改宿主机内对应docker服务中的文件配置
docker容器的配置信息一般都在var\lib\docker\ovverlay2
下面,只需要在这里找到对应的配置,修改成功后重启对应的docker容器即可
1.查询docker日志
1 | docker logs 容器id |
找到对应容器中出错的原因
1 | ERROR: mysqld failed while attempting to check config |
这个错误的原因是因为少配置了server-id
这个参数是在我配置mysqld.cnf的时候忘了加上了,需要找到宿主机对应docker中mysql容器的配置文件
2.查找文件
1 | find / -name mysqld.cnf |
如果之前启动了多个mysql容器,应该会有多个结果
1 | root@iZuf69dbrbjskszhgtnvctZ:/var/lib/docker/overlay2# find / -name mysqld.cnf |
找到当前的mysql的配置文件,再次修改
3.修改文件
找到文件修改、重启
方法二
将docker容器中的配置文件复制到主机中,在主机中修改然后再次复制到docker容器中。
1.复制docker容器中文件到主机
1 | docker cp 容器id:docker容器中的配置 主机路径 |
2.修改配置文件
3.将配置文件复制到docker容器中
1 | docker cp 修改后的文件 容器id:容器中对应的路径 |
方法三
如果在创建容器的时候,将容器的配置命令映射到宿主机的目录下,直接修改目录中的文件也可以