docker容器状态出现Exit(1)的问题及解决
目录
- docker容器状态出现Exit(1)
- 修改exit状态的docker容器
- Linux 系统运行基础
- OverlayFS 存储原理
- 修改exit状态的docker容器
- 总结
docker容器状态出现Exit(1)
今天docker一个容器出现状态为Exited(1),为了让它运行起来,我把它重启restart或删掉重新运行,结果还是出现这个Exited(1)的问题。

后来查找各种资料,倒腾了好久,才解决掉这个问题?
- docker stop 容器名
- docker rm 容器名
- 最主要的是,在删除完容器后,还要手动将本地的关于容器的配置目录给删掉。比如我上面这个容器的配置文件就在/var/fdfs下。执行命令sudo rm -rf storage。
- 然后再重新由镜像启动这个容器就可以了。

修改exit状态的docker容器
Linux 系统运行基础
1.boot file system ( bootfs )
包含 Boot Loader与Kernel文件,用户不能修改这些文件。并且在系统启动过程完成之后, 整个系统的内核都会被加载进内存。此时bootfs会被卸载, 从而释放出所占用的系统内存。
在容器中可以运行不同版本的Linux, 说明对于同样内核版本的不同的 Linux 发行版的 bootfs 都是一致的, 否则会无法启动。因此可以推断, Docker运行是需要内核支持的。
Linux系统中典型的bootfs目录: (核心) /boot/vmlinuz、(核心解压缩所需 RAM Disk) /boot/initramfs
2.root file system ( rootfs )
1) 不同的Linux发行版本, bootfs相同, rootfs不同(二进制文件)。
2) 每个容器有自己的 rootfs, 它来自不同的 Linux 发行版的基础镜像,包括 Ubuntu, Debian 和 SUSE 等。
3) 使用不同的rootfs 就决定了, 在构建镜像的过程中, 可以使用哪些系统的命令。
4) 典型的rootfs 目录: /dev、/proc、/bin、/etc、 /lib、/usr
OverlayFS 存储原理
OverlayFS 结构分为三个层: LowerDir、Upperdir、MergedDir
1.LowerDir (只读)
只读的 image layer,其实就是 rootfs, 在使用 Dockfile 构建镜像的时候就定好了
2.Upperdir (读写)
upperdir 则是在 lowerdir 之上的一层, 为读写层。容器在启动的时候会创建, 所有对容 器的修改, 都是在这层。比如容器启动写入的日志文件,或者是应用程序写入的临时文件
3.MergedDir (展示)
merged 目录是容器的挂载点,在用户视角能够看到的所有文件
修改exit状态的docker容器
查看容器状态 sudo docker ps -a,可以看到当前容器是关闭的

查看容器日志,查找关闭原因
sudo docker logs <容器名 或 容器ID>

获取容器文件存储的路径
sudo docker inspect <容器名或容器ID> | grep -A 10 GraphDriver-A
表示在搜索到该关键词后,打印下面 n 行

mergedDir 是不存在的,我们需要修改的文件都存储在 UpperDir 目录下

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
上一篇:在Linux中如何列出和删除Iptables防火墙规则
栏 目:其它服务器
本文标题:docker容器状态出现Exit(1)的问题及解决
本文地址:https://zz.feitang.co/server/29848.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





