Docker容器的退出狀態碼及解決方法
容器內應用啟動異常, 導致容器很快就結束或者構建映象時失敗了等問題
-
會出現的情況:
- 容器處於Exited異常退出時,將無法用docker exec進入容器內,會提示該容器不在執行中
- docker log顯示的錯誤無法在外部進行修改
-
解決的方法
1.「docker ps -a」檢視當前容器狀態,對應Exited狀態碼的含義
狀態碼 | 描述 |
---|---|
0 | 表示正常退出 |
非 0 | 表示異常退出(退出狀態碼採用 chroot 標準) |
125 | Docker 守護程式本身的錯誤 |
126 | 容器啟動後,要執行的預設命令無法呼叫 |
127 | 容器啟動後,要執行的預設命令不存在 |
137 | 表明容器收到了 SIGKILL 訊號,程式被殺掉,對應kill -9 |
139 | 表明容器收到了 SIGSEGV 訊號,無效的記憶體引用,對應kill -11 |
143 | 表明容器收到了 SIGTERM 訊號,終端關閉,對應kill -15 |
-
「docker inspect」檢視當前state,確認是否與OOMKilled等有關
-
根據dockerfile中使用的引數來重新啟動容器,若為CMD,則在docker run的時候在後面加入命令列引數,覆蓋掉CMD內容;如果是ENTRYPOINT,在docker run後加上“–entrypoint”覆蓋掉dockerfile中ENTRYPOINT的內容,進入新的容器內進行除錯
-
如果是配置檔案類等錯誤,可以用「docker cp」將容器內錯誤的配置檔案拷貝到本機上,修改後再重新拷貝回去,然後「docker start」重新執行容器
重啟策略
字元 | 描述 |
---|---|
no | 預設策略,在容器退出時不重啟容器 |
no-failure | 在容器非正常退出時(退出狀態非 0),才會重啟容器 |
no-failure:3 | 在容器非正常退出時重啟容器,最多重啟 3 次 |
always | 在容器退出時總是重啟容器 |
unless-stopped | 在容器退出時總是重啟容器,但不考慮在 docker 守護程式啟動時就已經停止了的容器 |
相關文章
- Docker 容器的健康狀態檢查Docker
- HTTP方法及狀態碼HTTP
- 【docker專欄6】詳解docker容器狀態轉換管理命令Docker
- HTTP請求方法及響應狀態碼詳解HTTP
- 解決Docker容器時區及時間不同步的問題Docker
- 狀態機解決複雜邏輯及使用
- JavaScript 的狀態容器 ReduxJavaScriptRedux
- Linux Shell程式設計(11)——退出和退出狀態Linux程式設計
- docker 啟動 centos 映象,容器會自動退出DockerCentOS
- HTTP狀態碼詳解HTTP
- 10g RAC 服務的狀態是UNKNOWN解決方法
- 儲存NETAPP處於takeover狀態解決方法。APP
- UIButton基本狀態及各種疊加狀態詳解UI
- Docker 容器互聯方法Docker
- 容器Docker詳解Docker
- Oracle10g RAC 服務的狀態是UNKNOWN解決方法Oracle
- HTTP 常用狀態碼解釋HTTP
- 進入docker容器的四種方法Docker
- Docker Hello World容器執行報錯的解決辦法Docker
- win10系統下離線狀態下不能使用pin碼登陸的解決方法Win10
- docker容器dockerfile詳解Docker
- win10系統提示網路狀態不存在的解決方法Win10
- Shell 指令碼中的exit狀態解釋指令碼
- Windows 10 安裝SVN 不顯示狀態圖示--解決方法Windows
- HTTP的狀態碼HTTP
- Android透明狀態列解決方案Android
- 解決IIS無響應假死狀態
- docker容器故障致無法啟動解決例項Docker
- Docker 容器中“TERM environment variable not set.”問題解決Docker
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- win10文字文件狀態列灰色怎麼辦_win10文字文件狀態列變成灰色的解決方法Win10
- Docker執行基於ubuntu映象的容器後沒有ifconfig和ping的解決方法DockerUbuntu
- macOS 10.15.5 軟體意外退出打不開的解決方法Mac
- 瞭解用於 Linux 和 Windows 容器的 Docker “容器LinuxWindowsDocker
- 最無恥的 HTTP 常用狀態碼圖解HTTP圖解
- ANR原因及解決方法
- Docker 映象及容器操作命令介紹Docker
- Docker_05 容器-修改及儲存Docker