docker容器配置文件出错后重启容器失败解决方案 – 道招

您所在的位置:网站首页 修改docker容器配置 docker容器配置文件出错后重启容器失败解决方案 – 道招

docker容器配置文件出错后重启容器失败解决方案 – 道招

2022-05-06 02:21| 来源: 网络整理| 查看: 265

最近经常修改docker容器里面的东西,无意中重启发现容器立即就挂了。。。慌的一批,总不能直接重新新建吧,虽然是没什么,但是数据呢?

想直接使用docker exec -it container-name /bin/bash进入容器是不行,docker exec只能进入到启动中的容器,那怎么办?

既然是修改某个配置重启后就失败的,那代表我们的此次修改有问题,我们删掉我们的改动点就好了,我们应该怎么才能找到刚才修改的文件了呢。 我们修改文件自己一般是能记住当时修改的文件的大致路径或者文件名的吧

我们有下面两种方案来实现,下面以修改nginx.conf为例

方法一:直接在主机上修改容器内文件

在当前主机中存放了docker容器中的配置信息(一般默认目录是:/var/lib/docker/overlay/或者/var/lib/docker/overlay2/),那只要找到这个配置文件,修改后就可以重新启动了啊

cd /var/lib/docker/overlay2 find ./ -name nginx.conf // 搜索刚才改动的配置文件

file

vim ./193410bff207ea4dfbadca74ffde3d8ce4b0195c1966659a607858e4b34e975c/diff/etc/nginx/nginx.conf docker start container-name

已经搜索到了,路径就是./193410bff207ea4dfbadca74ffde3d8ce4b0195c1966659a607858e4b34e975c/diff/etc/nginx/nginx.conf,我们直接修改该文件,把之前错误的改动还原就好了。 然后再启动容器就好了。

方法二:将容器内文件复制出来修改正确后再复制回去

容器虽然启动不了,但是我们仍然能用命令将里面的文件复制出来,或者复制进去的。 我们可以先把改动错误的文件复制出来

docker cp container-name:/etc/nginx/nginx.conf ./n.conf vim ./n.conf // 改成正确的配置 docker cp ./n.conf container-name:/etc/nginx/nginx.conf docker start container-name

大功告成了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3