有时候可能需要修改运行在docker容器中的nginx的配置文件,或者其他一些已经运行和启动很久的容器中的配置文件。但是在这个过程可能稍有不慎,配置文件中,比如少了个分号,直接导致容器运行不起来,每次启动到一半就报错退出,使容器不可用。有没有一种办法可以在一个已经 "exit”的docker容器中修改配置文件呢?答案还是有的。
1、运行命令 docker inspect [CONTAINER ID] ,可以找到如下的内容
复制 MergedDir 中的路径,切换到对应的目录下,可以看到
可以惊奇地发现前者的目录文件和直接进入容器中的可以看到的目录文件是一样的,这样我们就可以在前者中,也就是在容器已经 "exit" 的情况下,修改容器中的配置文件,比如 nginx 的话,就进入到 etc/nginx/ 下边去修改那个“忘记添加分号的” nginx.conf
<script>
(function(){
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore = $("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})()
</script>
</article>
有时候可能需要修改运行在docker容器中的nginx的配置文件,或者其他一些已经运行和启动很久的容器中的配置文件。但是在这个过程可能稍有不慎,配置文件中,比如少了个分号,直接导致容器运行不起来,每次启动到一半就报错退出,使容器不可用。有没有一种办法可以在一个已经 "exit”的docker容器中修改配置文件呢?答案还是有的。
1、运行命令 docker inspect [CONTAINER ID] ,可以找到如下的内容
复制 MergedDir 中的路径,切换到对应的目录下,可以看到
可以惊奇地发现前者的目录文件和直接进入容器中的可以看到的目录文件是一样的,这样我们就可以在前者中,也就是在容器已经 "exit" 的情况下,修改容器中的配置文件,比如 nginx 的话,就进入到 etc/nginx/ 下边去修改那个“忘记添加分号的” nginx.conf