一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最常見的退出碼介紹

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 作者:馬哥Linux運(yùn)維 ? 2022-08-02 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為什么我的容器沒有運(yùn)行?

回答這個(gè)問題需要知道 Docker 容器為什么退出,退出碼會(huì)提示容器停止運(yùn)行的情況。本文列出了最常見的退出碼,來回答兩個(gè)重要問題:

這些退出碼是什么意思?

導(dǎo)致該退出碼的動(dòng)作是什么?

exit code:代表一個(gè)進(jìn)程的返回碼,通過系統(tǒng)調(diào)用 exit_group 來觸發(fā)。在 POSIX 中,0 代表正常的返回碼,而 1-255 代表異常返回碼,不過一般錯(cuò)誤碼都是 1。這里有一張附表 Appendix E. Exit Codes With Special Meanings

如何查看退出碼

方法一:查看 pod 中的容器退出碼

$kubectldescribepodxxx

74a515f8-11a5-11ed-ba43-dac502259ad0.jpg

方法二:用 Docker 查看

$ dockerps--filter"status=exited"
$ dockerinspect--format='{{.State.ExitCode}}'

方法三:手動(dòng)輸出

$ dockercontainerrunalpinesh-c"exit1"

$dockercontainerls-a

CONTAINERIDIMAGECOMMANDCREATEDSTATUS
61c688005b3aalpine"sh-c'exit1'"AboutaminuteagoExited(1)3secondsago

常見退出碼

Exit Code 0

退出代碼0表示特定容器沒有附加前臺(tái)進(jìn)程。

該退出代碼是所有其他后續(xù)退出代碼的例外。

這不一定意味著發(fā)生了不好的事情。如果開發(fā)人員想要在容器完成其工作后自動(dòng)停止其容器,則使用此退出代碼。

如果你執(zhí)行 docker run hello-world, 你會(huì)得到“Hello from docker!”,但查看容器的時(shí)候docker ps -a | grep hello-world,會(huì)發(fā)現(xiàn)狀態(tài)碼為 0

74b736d4-11a5-11ed-ba43-dac502259ad0.jpg

Exit Code 1

程序錯(cuò)誤,或者 Dockerfile 中引用不存在的文件,如 entrypoint 中引用了錯(cuò)誤的包

程序錯(cuò)誤可以很簡單,例如 “除以0”,也可以很復(fù)雜,比如空引用或者其他程序 crash

Exit Code 137

表明容器收到了 SIGKILL 信號(hào),進(jìn)程被殺掉,對(duì)應(yīng) kill -9

引發(fā) SIGKILL 的是 Docker Kill。這可以由用戶或由 Docker 守護(hù)程序來發(fā)起,手動(dòng)執(zhí)行:docker kill

137 比較常見,如果 pod 中的 limit 資源設(shè)置較小,會(huì)運(yùn)行內(nèi)存不足導(dǎo)致 OOMKilled,此時(shí) state 中的 "OOMKilled" 值為 true,你可以在系統(tǒng)的 dmesg 中看到 oom 日志

Exit Code 139

表明容器收到了 SIGSEGV 信號(hào),無效的內(nèi)存引用,對(duì)應(yīng) kill -11

一般是代碼有問題,或者 docker 的基礎(chǔ)鏡像有問題

Exit Code 143

表明容器收到了 SIGTERM 信號(hào),終端關(guān)閉,對(duì)應(yīng) kill -15

一般對(duì)應(yīng) docker stop 命令

有時(shí) docker stop 也會(huì)導(dǎo)致 Exit Code 137。發(fā)生在與代碼無法處理 SIGTERM 的情況下,docker 進(jìn)程等待十秒鐘然后發(fā)出 SIGKILL 強(qiáng)制退出。

不常用的一些 Exit Code

Exit Code 126: 權(quán)限問題或命令不可執(zhí)行

Exit Code 127: Shell 腳本中可能出現(xiàn)錯(cuò)字且字符無法識(shí)別的情況

Exit Code 1 或 255:因?yàn)楹芏?a href="http://www.www27dydycom.cn/v/tag/1730/" target="_blank">程序員寫異常退出時(shí)習(xí)慣用 exit(1) 或 exit(-1),-1 會(huì)根據(jù)轉(zhuǎn)換規(guī)則轉(zhuǎn)成 255。這個(gè)一般是自定義 code,要看具體邏輯。

退出狀態(tài)碼的區(qū)間

必須在 0-255 之間,0 表示正常退出

外界將程序中斷退出,狀態(tài)碼在 129-255

程序自身異常退出,狀態(tài)碼一般在 1-128

假如寫代碼指定的退出狀態(tài)碼時(shí)不在 0-255 之間,例如: exit(-1),這時(shí)會(huì)自動(dòng)做一個(gè)轉(zhuǎn)換,最終呈現(xiàn)的狀態(tài)碼還是會(huì)在 0-255 之間。我們把狀態(tài)碼記為 code,當(dāng)指定的退出時(shí)狀態(tài)碼為負(fù)數(shù),那么轉(zhuǎn)換公式如下:256 – (|code| % 256)

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82949
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22445
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70668

原文標(biāo)題:理解 Docker 容器退出碼

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    GM861條二維識(shí)別模塊用戶手冊(cè)

    GM861條二維識(shí)別模塊用戶手冊(cè)
    發(fā)表于 07-09 14:56 ?0次下載

    RS232轉(zhuǎn)Profinet網(wǎng)關(guān):破解掃槍高速通訊的關(guān)鍵樞紐

    在工業(yè)自動(dòng)化領(lǐng)域,實(shí)現(xiàn)設(shè)備的高效通訊是至關(guān)重要的。掃槍作為一種常見的數(shù)據(jù)采集設(shè)備,其在生產(chǎn)線上的應(yīng)用極為廣泛。要使得這些設(shè)備能夠無縫對(duì)接現(xiàn)代工業(yè)網(wǎng)絡(luò),如Profinet系統(tǒng),就需要一個(gè)可靠的轉(zhuǎn)換
    的頭像 發(fā)表于 06-13 16:06 ?191次閱讀
    RS232轉(zhuǎn)Profinet網(wǎng)關(guān):破解掃<b class='flag-5'>碼</b>槍高速通訊的關(guān)鍵樞紐

    什么是SD卡、TF卡寫保護(hù)?寫保護(hù)的常見原因

    部分SD卡、TF卡適配器或卡套上設(shè)有物理寫保護(hù)開關(guān),當(dāng)開關(guān)滑動(dòng)到"鎖定"位置時(shí),卡片會(huì)自動(dòng)進(jìn)入寫保護(hù)狀態(tài)。這是最常見也是最容易解決的寫保護(hù)原因。
    的頭像 發(fā)表于 06-10 00:00 ?898次閱讀
    什么是SD卡、TF卡寫保護(hù)?寫保護(hù)的<b class='flag-5'>常見</b>原因

    HarmonyOS5云服務(wù)技術(shù)分享--退出登錄文檔問題

    \'; // 點(diǎn)擊退出按鈕時(shí)調(diào)用 auth.signOut() .then(() => { console.log(\"拜拜了您嘞~已清空本地緩存\"); // 這里可以跳轉(zhuǎn)
    發(fā)表于 05-22 17:01

    一“”當(dāng)先!看二維模組如何重塑智能門鎖掃體驗(yàn)

    在科技日新月異的今天,智能門鎖正逐步取代傳統(tǒng)機(jī)械鎖,成為現(xiàn)代家庭安全防護(hù)的首選。在這場(chǎng)門鎖智能化革命中,二維模組以其獨(dú)特的識(shí)別技術(shù)和便捷的操作方式,成為智能門鎖的重要組成部分。本文將深入探討二維
    的頭像 發(fā)表于 03-12 16:17 ?449次閱讀
    一“<b class='flag-5'>碼</b>”當(dāng)先!看二維<b class='flag-5'>碼</b>模組如何重塑智能門鎖掃<b class='flag-5'>碼</b>體驗(yàn)

    常見新大陸二維碼掃描模組模塊型號(hào)有哪些?各有什么特點(diǎn)

    的效率和準(zhǔn)確性。以下,我們將簡要介紹幾款常見的新大陸二維掃描模組型號(hào)及其顯著特點(diǎn)。1.NLS-N1系列微型掃描模組NLS-N1系列是新大陸專為空間受限環(huán)境設(shè)計(jì)的微型二維掃描模組。該
    的頭像 發(fā)表于 01-10 00:00 ?752次閱讀
    <b class='flag-5'>常見新大陸二維碼</b>掃描模組模塊型號(hào)有哪些?各有什么特點(diǎn)

    設(shè)備能識(shí)別哪些類型的 工業(yè)二維掃描設(shè)備有什么推薦產(chǎn)品

    在當(dāng)今智能制造與數(shù)字化轉(zhuǎn)型的浪潮中,掃設(shè)備作為信息識(shí)別與采集的關(guān)鍵工具,其重要性日益凸顯。從簡單的條形碼到復(fù)雜多變的二維,再到專為工業(yè)環(huán)境設(shè)計(jì)的工業(yè)二維,掃技術(shù)的應(yīng)用范圍不斷拓
    的頭像 發(fā)表于 12-18 15:13 ?1067次閱讀
    掃<b class='flag-5'>碼</b>設(shè)備能識(shí)別哪些類型的<b class='flag-5'>碼</b> 工業(yè)二維<b class='flag-5'>碼</b>掃描設(shè)備有什么推薦產(chǎn)品

    關(guān)于光耦合器的常見誤解

    光耦合器以其提供電氣隔離的能力而聞名,廣泛應(yīng)用于從電源到通信系統(tǒng)的各種應(yīng)用。盡管光耦合器非常普遍,但人們對(duì)其特性和用途存在一些常見的誤解。本文將揭穿一些最常見的誤解,以幫助工程師和愛好者做出更明智的決策。
    的頭像 發(fā)表于 12-06 10:04 ?556次閱讀
    關(guān)于光耦合器的<b class='flag-5'>常見</b>誤解

    手持式的掃槍連接到工控機(jī)上使用,實(shí)現(xiàn)產(chǎn)品掃

    在當(dāng)今的自動(dòng)化生產(chǎn)線和倉儲(chǔ)管理中,手持式掃槍已成為不可或缺的工具。它以其高效、準(zhǔn)確的特點(diǎn),為產(chǎn)品的追蹤、管理和銷售提供了極大的便利。本文將介紹如何將手持式掃槍連接到工控機(jī)上,并實(shí)現(xiàn)產(chǎn)品掃
    的頭像 發(fā)表于 12-04 14:30 ?1084次閱讀
    手持式的掃<b class='flag-5'>碼</b>槍連接到工控機(jī)上使用,實(shí)現(xiàn)產(chǎn)品掃<b class='flag-5'>碼</b>

    關(guān)于如何解決MOS常見問題的方案參考

    因素的影響,導(dǎo)致各種常見問題出現(xiàn),影響電路的穩(wěn)定性和可靠性。這里給大家介紹一些常見的MOS問題的解決方案參考:1.MOSFET的熱管理問題MOSFET的熱問題是最常見
    的頭像 發(fā)表于 12-03 17:05 ?1048次閱讀
    關(guān)于如何解決MOS<b class='flag-5'>常見</b>問題的方案參考

    如何使用ASCII進(jìn)行編碼

    ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)是一種字符編碼標(biāo)準(zhǔn),用于文本電子交換。它主要包括128個(gè)字符
    的頭像 發(fā)表于 11-10 09:37 ?1693次閱讀

    什么是工業(yè)用掃設(shè)備,工業(yè)掃器有什么優(yōu)勢(shì)

    工業(yè)用掃設(shè)備概述工業(yè)用掃設(shè)備,通常指的是工業(yè)掃器,是一種高性能的一維條碼和二維條碼掃描設(shè)備,廣泛應(yīng)用于工業(yè)生產(chǎn)、倉儲(chǔ)等場(chǎng)景中。相較于普通的消費(fèi)級(jí)掃設(shè)備,工業(yè)掃
    的頭像 發(fā)表于 11-07 14:44 ?676次閱讀
    什么是工業(yè)用掃<b class='flag-5'>碼</b>設(shè)備,工業(yè)掃<b class='flag-5'>碼</b>器有什么優(yōu)勢(shì)

    無線智能遙控開關(guān)怎么對(duì)

    與接收器之間的配對(duì),確保信號(hào)的準(zhǔn)確傳輸。 無線智能遙控開關(guān)對(duì)的重要性 在詳細(xì)介紹無線智能遙控開關(guān)對(duì)的步驟之前,我們首先需要了解對(duì)的重要性。對(duì)
    的頭像 發(fā)表于 10-12 18:12 ?5164次閱讀

    生產(chǎn)線用條碼讀介紹

    工業(yè)讀器是一種專門用于讀取各種條碼信息的工業(yè)設(shè)備。在工業(yè)應(yīng)用中,讀器經(jīng)常用于自動(dòng)識(shí)別產(chǎn)品、包裝和配件上的編碼信息,以支持物料管理、生產(chǎn)計(jì)劃、物流和配送的自動(dòng)化。常見的工業(yè)條碼閱讀器包括激光讀
    的頭像 發(fā)表于 08-29 15:50 ?543次閱讀
    生產(chǎn)線用條碼讀<b class='flag-5'>碼</b>器<b class='flag-5'>介紹</b>

    新大陸掃器哪款能夠識(shí)別DPM?新大陸二維介紹

    隨著工業(yè)自動(dòng)化的不斷發(fā)展,二維和數(shù)據(jù)矩陣(DPM)在生產(chǎn)、物流和倉儲(chǔ)等領(lǐng)域的應(yīng)用越來越廣泛。DPM因其高密度和小體積的特點(diǎn),常常被應(yīng)用于金屬、塑料等各種材料的直接標(biāo)記。這就對(duì)掃
    的頭像 發(fā)表于 07-29 14:36 ?832次閱讀
    新大陸掃<b class='flag-5'>碼</b>器哪款能夠識(shí)別DPM<b class='flag-5'>碼</b>?新大陸二維<b class='flag-5'>碼</b>掃<b class='flag-5'>碼</b>器<b class='flag-5'>介紹</b>