怎样修复docker容器

发布时间:2024-04-27 点击:75
怎样修复docker容器?比如把容器内的php-fpm配置文件中的daemon改为yes,导致了没有前台进程,因此,容器启动后就停止了。那么如何修改没有启动的容器内的文件呢?
创建新镜像
把这个问题容器用docker commit提交到一个新的镜像,然后用docker run -it 基于新镜像运行一个新的容器进去改变(修复)配置文件。再通过新的容器再提交一个新的镜像,然后在基于新的镜像重新启动容器(同最初的容器)。
这个方法是可行的,但问题是步骤多,而且提交了新的镜像,对于后续维护增加了复杂性。
#把要修复的容器提交为镜像 docker commit <container_id> <image_name>:<tag> docker rm <container_id> #这个删除老的容器,反正也用不了 #查看刚建立的新镜像 repository tag image id created size zhibin/php5 2018 c6532c5ece91 10 minutes ago 1.549 gb #利用这个新镜像创建容器,进入容器,修复配置文件 docker run -it --name tmp-fixphp5 zhibin/php5:2018 /bin/bash #重新提交镜像 docker commit <container_id> <image_name>:<tag> #创建修复后的容器 docker run -d --volumes-from nginx_server --name php-fpm_server_2018 --dns=10.100.17.21 --cap-add sys_ptrace -p 9000:9000 zhibin/php5:201802或者使用docker过程中,运行docker-compose up或docker run时,出现conflict. the name w is already in use by container xyz. you have to delete..或”conflict, cannot remove the default name of the container…”
我们无法启动容器,因为该名称已在使用中。运行docker ps命令,又看不到。
运行docker ps -a
找到你的容器,复制它的id号,然后运行
docker rm 85c2981e63f6 26ea04f41ab3
删除后,再运行docker-compose up
第二种方法是从/ var下手动删除剩余的文件。具体来说,可以在/ var / lib / docker / containers /下找到这些文件。每个容器目录都有一个超长的哈希标识符,里面有大量丑陋的json输出。如果搜索与所需容器名称匹配的特定字符串,则会找到包含其配置文件的相关目录。
删除与名称搜索匹配的父目录,然后重新启动docker服务。之后,应该可以再次使用你的名字。
西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万linux镜像,功能强大、简单易用,可轻松作集群服务,自由组网、轻量灵活。
高性价比的容器云产品链接 https://www.west.cn/paas/container/


帮忙重新提交一下已通知法人注意接听电话
域名如何备案?域名服务商您选择哪个比较靠谱?
你知道吗 这些方法可以优化网站
亚马逊称会员日促销销售创纪录
云主机和服务器的关系和区别
seo优化贵吗?公司能保证效果吗?
服务专业的公司云服务器购买费用
眉山国内云服务器哪家好