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 守護程式啟動時就已經停止了的容器 |
相關文章
- HTTP方法及狀態碼HTTP
- 解決docker安裝minio容器時,minio容器啟動幾秒後自動退出的一種方法Docker
- Docker 容器的健康狀態檢查Docker
- 【docker專欄6】詳解docker容器狀態轉換管理命令Docker
- HTTP請求方法及響應狀態碼詳解HTTP
- 狀態機解決複雜邏輯及使用
- docker 容器指定utf-8編碼,解決中文亂碼Docker
- 解決Docker容器時區及時間不同步的問題Docker
- JavaScript 的狀態容器 ReduxJavaScriptRedux
- HTTP狀態碼詳解HTTP
- 解決docker容器中沒有vim命令Docker
- macOS 10.15.5 軟體意外退出打不開的解決方法Mac
- Docker執行基於ubuntu映象的容器後沒有ifconfig和ping的解決方法DockerUbuntu
- useSyncExternalStoreExports 狀態原始碼解釋Export原始碼
- HTTP 常用狀態碼解釋HTTP
- win10系統下離線狀態下不能使用pin碼登陸的解決方法Win10
- 容器Docker詳解Docker
- win10系統提示網路狀態不存在的解決方法Win10
- Shell 指令碼中的exit狀態解釋指令碼
- Docker容器內部能ping通ip,ping不通域名(Name or service not known)解決方法Docker
- Docker Hello World容器執行報錯的解決辦法Docker
- 進入docker容器的四種方法Docker
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- 狀態碼
- docker容器操作指令碼Docker指令碼
- docker容器dockerfile詳解Docker
- 最無恥的 HTTP 常用狀態碼圖解HTTP圖解
- 程式碼簽名證書出錯的原因及解決方法
- 瞭解用於 Linux 和 Windows 容器的 Docker “容器LinuxWindowsDocker
- HTTP協議常用Headers、方法Methods、狀態碼HTTP協議Header
- Java的六種執行緒狀態及程式碼示例Java執行緒
- docker - 生命週期和狀態Docker
- 前端開發:HTTP狀態碼詳解前端HTTP
- JAVA各種OOM程式碼樣例及解決方法JavaOOM
- 後端的狀態碼後端
- 常見的狀態碼
- HTTP狀態碼的理解HTTP
- 常用的HTTP狀態碼HTTP