有時(shí)有些docker容器執(zhí)行一段時(shí)間后退出了,為了查明原因采用查看下docker容器退出的錯(cuò)誤碼,具體步驟如下:
1、找出退出的容器,可以通過(guò)下面兩種方式方式查找:
docker ps --filter "status=exited"
docker ps -a | grep 容器名字
2、執(zhí)行docker inspect 容器id命令來(lái)查看退出的容器信息
docker inspect 容器id,查看State部分
![](/d/20211016/065603770d89293187a4dd4652c194e8.gif)
State部分展示了容器的狀態(tài),OOMKilled,ExitCode等信息,下面是docker 常見(jiàn)ExitCode
- Exit Code 0: 很多時(shí)候可能僅僅是程序正常退出而已
- Exit Code 1: 應(yīng)用啟動(dòng)失敗,比如啟動(dòng)時(shí)連接數(shù)據(jù)庫(kù)失敗,注冊(cè)nacos失敗等
- Exit Code 137: 容器收到了SIGKILL信號(hào),比如容器占用過(guò)高時(shí)系統(tǒng)將該容器殺掉,也有可能是Dockerfile問(wèn)題,里面訪問(wèn)了不存在的文件等等,比如ENTRYPOINT ["java","-jar","sample.ja"]漏掉了r
- Exit Code 139: 容器收到了SIGSEGV信號(hào),比如程序越界訪問(wèn)內(nèi)存,但是運(yùn)行的系統(tǒng)沒(méi)有catch住對(duì)應(yīng)錯(cuò)誤Exit Code 255:容器發(fā)生了錯(cuò)誤,但是錯(cuò)誤原因不確定,這種情況可以通過(guò)docker logs 容器id查看容器日志看能否發(fā)現(xiàn)端倪
PS:下面看下創(chuàng)建docker容器遇到的錯(cuò)誤
1.問(wèn)題截圖
![](/d/20211016/3388f2c210a196de92c01ebc8bc36d5e.gif)
2.問(wèn)題描述
出現(xiàn)該問(wèn)題就是docker版本和系統(tǒng)版本不兼容導(dǎo)致的.
現(xiàn)在的系統(tǒng)版本和docker的版本如下:
![](/d/20211016/267c0c0a2dcacd87823b8de09f4d27d9.gif)
![](/d/20211016/606d369774ad5d176cc31ae8b08bf0db.gif)
3.問(wèn)題解決
安裝低版本的docker或者高版本的系統(tǒng)(Centos7.4以上)即可解決.
安裝低版本的docker地址:https://www.jb51.net/article/219364.htm
到此這篇關(guān)于docker容器錯(cuò)誤碼的文章就介紹到這了,更多相關(guān)docker錯(cuò)誤碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!