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

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

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

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

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

馬哥Linux運(yùn)維 ? 來(lái)源:徐亞松(占洋) ? 作者:徐亞松(占洋) ? 2022-08-02 09:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

這些退出碼是什么意思?

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

exit code:代表一個(gè)進(jìn)程的返回碼,通過(guò)系統(tǒng)調(diào)用 exit_group 來(lái)觸發(fā)。在 POSIX 中,0 代表正常的返回碼,而 1-255 代表異常返回碼,不過(guò)一般錯(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

常見(jiàn)退出碼

Exit Code 0

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

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

這不一定意味著發(fā)生了不好的事情。如果開(kāi)發(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ò)誤可以很簡(jiǎn)單,例如 “除以0”,也可以很復(fù)雜,比如空引用或者其他程序 crash

Exit Code 137

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

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

137 比較常見(jiàn),如果 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),無(wú)效的內(nèi)存引用,對(duì)應(yīng) kill -11

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

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ā)生在與代碼無(wú)法處理 SIGTERM 的情況下,docker 進(jìn)程等待十秒鐘然后發(fā)出 SIGKILL 強(qiáng)制退出。

不常用的一些 Exit Code

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

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

Exit Code 1 或 255:因?yàn)楹芏?a href="http://www.www27dydycom.cn/v/tag/1730/" target="_blank">程序員寫(xiě)異常退出時(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

假如寫(xiě)代碼指定的退出狀態(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    12971
  • docker容器
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    支持二次開(kāi)發(fā)的工業(yè)級(jí)二維讀頭選購(gòu)指南

    在快節(jié)奏的工業(yè)環(huán)境中,如何讓二維識(shí)別速度提升200%?面對(duì)復(fù)雜多變的掃需求,普通掃設(shè)備往往力不從心,而支持二次開(kāi)發(fā)的工業(yè)級(jí)掃讀頭正成為企業(yè)降本增效的秘密武器。本文將為您揭開(kāi)選購(gòu)
    的頭像 發(fā)表于 06-11 16:05 ?203次閱讀
    支持二次開(kāi)發(fā)的工業(yè)級(jí)二維<b class='flag-5'>碼</b>掃<b class='flag-5'>碼</b>讀頭選購(gòu)指南

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

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

    為什么說(shuō)二維模塊是智能終端的“眼睛”?

    系統(tǒng)到物流的包裹追蹤,這些看似簡(jiǎn)單的掃動(dòng)作背后,都離不開(kāi)這個(gè)微型"視覺(jué)系統(tǒng)"的高效運(yùn)作。在物聯(lián)網(wǎng)技術(shù)飛速發(fā)展的今天,二維模塊已成為連接物理世界與數(shù)字世界的橋梁。它通過(guò)CMOS影
    的頭像 發(fā)表于 05-21 14:39 ?271次閱讀
    為什么說(shuō)二維<b class='flag-5'>碼</b>掃<b class='flag-5'>碼</b>模塊是智能終端的“眼睛”?

    產(chǎn)線效率翻倍!二維器這樣用就對(duì)了

    。如果產(chǎn)線環(huán)境復(fù)雜,如存在粉塵、油污等,那么具有高防護(hù)等級(jí)(如IP67)的工業(yè)級(jí)掃器是首選,其能在惡劣環(huán)境中穩(wěn)定工作,減少因設(shè)備故障導(dǎo)致的產(chǎn)線停滯。若產(chǎn)線對(duì)掃描速
    的頭像 發(fā)表于 04-18 14:05 ?282次閱讀
    產(chǎn)線效率翻倍!二維<b class='flag-5'>碼</b>掃<b class='flag-5'>碼</b>器這樣用就對(duì)了

    遠(yuǎn)距版嵌入式掃機(jī)在戶外掃收費(fèi)場(chǎng)景中的應(yīng)用解析

    隨著移動(dòng)支付的普及與發(fā)展,戶外掃收費(fèi)已經(jīng)成為眾多消費(fèi)場(chǎng)景中的主流支付方式。無(wú)論是停車場(chǎng)收費(fèi)、景區(qū)門票售賣,還是路邊攤販的快速交易,掃支付都以其便捷性贏得了廣大用戶的青睞。在這一背景下,遠(yuǎn)距
    的頭像 發(fā)表于 03-17 16:08 ?315次閱讀
    遠(yuǎn)距版嵌入式掃<b class='flag-5'>碼</b>機(jī)在戶外掃<b class='flag-5'>碼</b>收費(fèi)場(chǎng)景中的應(yīng)用解析

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

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

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

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

    工業(yè)二維器在電子制造業(yè)中的應(yīng)用

    工業(yè)二維器在電子制造業(yè)中的應(yīng)用主要體現(xiàn)在以下幾個(gè)方面:▲生產(chǎn)追溯管理工業(yè)二維器通過(guò)對(duì)電子產(chǎn)品上的二維進(jìn)行快速掃描,實(shí)現(xiàn)了高效、
    的頭像 發(fā)表于 11-13 16:19 ?572次閱讀
    工業(yè)二維<b class='flag-5'>碼</b>讀<b class='flag-5'>碼</b>器在電子制造業(yè)中的應(yīng)用

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

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

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

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

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

    無(wú)線智能遙控開(kāi)關(guān)是一種通過(guò)無(wú)線信號(hào)控制家用電器的設(shè)備,它提供了一種方便、快捷的控制方式,使得用戶可以遠(yuǎn)程控制家中的燈光、電器等設(shè)備。對(duì)是無(wú)線智能遙控開(kāi)關(guān)使用過(guò)程中的一個(gè)重要步驟,它涉及到遙控器
    的頭像 發(fā)表于 10-12 18:12 ?5302次閱讀

    容器在運(yùn)行中電壓超過(guò)額定電壓需要退出運(yùn)行嗎

    當(dāng)電容器運(yùn)行中的電壓超過(guò)額定電壓時(shí),通常需要采取措施。如果電壓超出額定電壓的幅度較大且持續(xù)時(shí)間較長(zhǎng),建議將電容器 退出運(yùn)行 ,以避免損壞設(shè)備。以下是一些考慮因素: 電容器的過(guò)電壓耐受能
    的頭像 發(fā)表于 09-19 14:44 ?3108次閱讀
    電<b class='flag-5'>容器</b>在運(yùn)行中電壓超過(guò)額定電壓需要<b class='flag-5'>退出</b>運(yùn)行嗎

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

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

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    restart 圖24 (2)創(chuàng)建并啟動(dòng)容器。由于Docker使用VFS存儲(chǔ)驅(qū)動(dòng)程序,當(dāng)創(chuàng)建容器時(shí),需要先創(chuàng)建容器層,
    發(fā)表于 07-25 14:36