掌控Docker容器生命脈絡(luò):`docker start`阅畴、`stop`倡怎、`restart`、`kill` 與 `wait` 命令詳解與實(shí)戰(zhàn)示例

  1. docker start:啟動(dòng)容器
  2. docker stop:優(yōu)雅地停止容器
  3. docker restart:重啟容器
  4. docker kill: 結(jié)束容器
  5. docker wait: 等待容器停止贱枣,并退出狀態(tài)

這些命令都直接涉及到容器運(yùn)行狀態(tài)的變更和監(jiān)控监署,屬于容器生命周期管理的核心操作。將它們放在同一部分討論纽哥,有助于讀者理解如何控制容器的終止過程以及如何同步地處理容器停止后的后續(xù)操作钠乏。

1. docker start:啟動(dòng)容器

docker start 命令用于啟動(dòng)一個(gè)或多個(gè)已停止的 Docker 容器。當(dāng)需要恢復(fù)先前停止的服務(wù)春塌、重新啟動(dòng)測(cè)試環(huán)境晓避、繼續(xù)進(jìn)行未完成的任務(wù)或在維護(hù)后恢復(fù)容器運(yùn)行時(shí),此命令提供了便捷的容器啟動(dòng)機(jī)制只壳。以下是使用 docker start 命令啟動(dòng) hello-go 容器的示例:

假設(shè)有一個(gè)已停止的名為 hello-go 的容器俏拱,您希望將其啟動(dòng),您可以使用以下命令:

?  ~ docker start hello-go

在這條命令中吼句,hello-go 是您要啟動(dòng)的已停止容器的名稱锅必。執(zhí)行命令后,Docker 會(huì)重新啟動(dòng)該容器惕艳,使其進(jìn)入運(yùn)行狀態(tài)搞隐。容器內(nèi)的主進(jìn)程將恢復(fù)執(zhí)行,服務(wù)或應(yīng)用程序?qū)⒃俅螌?duì)外提供服務(wù)远搪。

2. docker stop:優(yōu)雅地停止容器

docker stop 命令用于優(yōu)雅地停止一個(gè)或多個(gè)正在運(yùn)行的 Docker 容器劣纲。在需要暫停服務(wù)、進(jìn)行計(jì)劃內(nèi)維護(hù)终娃、節(jié)約資源味廊、或者遵循特定的業(yè)務(wù)流程時(shí)蒸甜,此命令提供了安全棠耕、有序的容器停止機(jī)制余佛。以下是使用 docker stop 命令停止 hello-go 容器的示例:

假設(shè)您有一個(gè)正在運(yùn)行的名為 hello-go 的容器,您希望將其停止窍荧。您可以使用以下命令:

?  ~ docker stop hello-go

在這條命令中辉巡,hello-go 是您要停止的正在運(yùn)行容器的名稱。執(zhí)行命令后蕊退,Docker 會(huì)向容器內(nèi)的主進(jìn)程發(fā)送 SIGTERM 信號(hào)郊楣,請(qǐng)求其優(yōu)雅地停止。大多數(shù)應(yīng)用程序在接收到 SIGTERM 信號(hào)后瓤荔,會(huì)開始清理資源净蚤、保存狀態(tài),并在完成這些操作后自行退出输硝。如果容器內(nèi)的主進(jìn)程在指定的超時(shí)時(shí)間內(nèi)(默認(rèn)為 10 秒)仍未退出今瀑,Docker 將發(fā)送 SIGKILL 信號(hào)強(qiáng)制終止容器。

3. docker restart:重啟容器

docker restart 命令用于重啟一個(gè)或多個(gè)已運(yùn)行或已停止的 Docker 容器点把。在需要刷新容器狀態(tài)橘荠、應(yīng)用配置更改、恢復(fù)故障服務(wù)或執(zhí)行定期維護(hù)時(shí)郎逃,此命令提供了快速哥童、便捷的容器重啟機(jī)制。以下是使用 docker restart 命令重啟 hello-go 容器的示例:

無論 hello-go 容器當(dāng)前是運(yùn)行中還是已停止?fàn)顟B(tài)褒翰,您都可以使用以下命令重啟它:

?  ~ docker restart hello-go

在這條命令中贮懈,hello-go 是您要重啟的容器的名稱。執(zhí)行命令后优训,Docker 會(huì)執(zhí)行以下操作:

  1. 停止容器(如果正在運(yùn)行):向容器內(nèi)的主進(jìn)程發(fā)送 SIGTERM 信號(hào)错邦,請(qǐng)求其優(yōu)雅地停止。若容器在指定超時(shí)時(shí)間內(nèi)(默認(rèn)為 10 秒)未退出型宙,Docker 將發(fā)送 SIGKILL 信號(hào)強(qiáng)制終止容器撬呢。
  2. 啟動(dòng)容器:在容器停止后,Docker 會(huì)重新啟動(dòng)該容器妆兑。容器內(nèi)的主進(jìn)程將恢復(fù)執(zhí)行魂拦,服務(wù)或應(yīng)用程序?qū)⒃俅螌?duì)外提供服務(wù)。

4. docker kill: 結(jié)束容器

docker kill 命令為運(yùn)維人員提供了即時(shí)搁嗓、強(qiáng)制結(jié)束一個(gè)或多個(gè)運(yùn)行中容器的能力芯勘。在遇到容器無響應(yīng)、資源占用過高腺逛、需緊急下線服務(wù)等場景時(shí)荷愕,此命令能夠迅速切斷容器的運(yùn)行狀態(tài)。由于其非優(yōu)雅終止的特性,應(yīng)結(jié)合使用 docker stop(優(yōu)雅停止)和其他管理命令安疗,以實(shí)現(xiàn)對(duì)容器生命周期的最佳管理抛杨。

?  ~ docker kill hello-go

在這條命令中,hello-go 是您要終止的容器名稱荐类。執(zhí)行命令后怖现,Docker 會(huì)向容器發(fā)送默認(rèn)的 SIGKILL 信號(hào),強(qiáng)制結(jié)束容器內(nèi)的所有進(jìn)程玉罐,從而停止容器運(yùn)行屈嗤。用 docker kill 命令時(shí),容器內(nèi)的應(yīng)用程序可能無法完成必要的清理或保存狀態(tài)操作吊输,可能導(dǎo)致數(shù)據(jù)丟失或不一致饶号。在涉及關(guān)鍵數(shù)據(jù)或需要確保服務(wù)平滑過渡的場景中,應(yīng)優(yōu)先考慮使用 docker stop 命令季蚂。

5. docker wait: 等待容器停止茫船,并退出狀態(tài)

docker wait 命令用于同步阻塞當(dāng)前命令行,直至指定的容器停止運(yùn)行癣蟋,并在容器退出后返回其退出狀態(tài)碼透硝。這一特性使得 docker wait 成為自動(dòng)化腳本、持續(xù)集成/持續(xù)部署(CI/CD)流程疯搅、多容器協(xié)調(diào)任務(wù)濒生、資源管理以及測(cè)試與調(diào)試環(huán)境中的關(guān)鍵工具,為管理和監(jiān)控容器生命周期提供了可靠的同步點(diǎn)和狀態(tài)反饋機(jī)制幔欧。

?  ~ docker wait hello-go

運(yùn)行該命令罪治,hello-go會(huì)阻塞當(dāng)前命令行。

打開另一個(gè)命令行運(yùn)行

?  ~ docker stop hello-go
hello-go

回到docker wait hello-go命令行

?  ~ docker wait hello-go
2

這時(shí)候輸出了2礁蔗。

狀態(tài)碼

  • 0: 正常退出觉义,無錯(cuò)誤。
  • 1-127: 非正常退出浴井,通常表示程序運(yùn)行時(shí)遇到錯(cuò)誤晒骇。
  • 128+n: 由信號(hào) n 導(dǎo)致的退出,如 137 表示接收到 SIGKILL 信號(hào)而被強(qiáng)制終止磺浙。

本文探討了五項(xiàng)關(guān)鍵的Docker容器生命周期管理命令:docker start洪囤、stoprestart撕氧、killwait瘤缩,并通過示例詳細(xì)展示了每項(xiàng)命令的使用場景、操作方式及預(yù)期效果伦泥。這些命令共同構(gòu)成了對(duì)容器運(yùn)行狀態(tài)進(jìn)行精細(xì)控制的核心工具集剥啤,為容器的啟動(dòng)锦溪、停止、重啟府怯、強(qiáng)制終止以及狀態(tài)同步提供了強(qiáng)大支持刻诊,助力用戶高效、安全地管理容器化應(yīng)用的全生命周期富腊。

忍不住要加個(gè)關(guān)注坏逢!不是我吹域帐,但你會(huì)后悔沒關(guān)注的赘被!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肖揣,隨后出現(xiàn)的幾起案子民假,更是在濱河造成了極大的恐慌,老刑警劉巖龙优,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羊异,死亡現(xiàn)場離奇詭異,居然都是意外死亡彤断,警方通過查閱死者的電腦和手機(jī)野舶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宰衙,“玉大人平道,你說我怎么就攤上這事」┝叮” “怎么了一屋?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袋哼。 經(jīng)常有香客問我冀墨,道長,這世上最難降的妖魔是什么涛贯? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任诽嘉,我火速辦了婚禮,結(jié)果婚禮上弟翘,老公的妹妹穿的比我還像新娘虫腋。我一直安慰自己,他們只是感情好衅胀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布岔乔。 她就那樣靜靜地躺著,像睡著了一般滚躯。 火紅的嫁衣襯著肌膚如雪雏门。 梳的紋絲不亂的頭發(fā)上嘿歌,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音茁影,去河邊找鬼宙帝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛募闲,可吹牛的內(nèi)容都是我干的步脓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浩螺,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼靴患!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起要出,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸳君,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后患蹂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體或颊,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年传于,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囱挑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沼溜,死狀恐怖平挑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盛末,我是刑警寧澤弹惦,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站悄但,受9級(jí)特大地震影響棠隐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜檐嚣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一助泽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚎京,春花似錦嗡贺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帕涌,卻和暖如春摄凡,著一層夾襖步出監(jiān)牢的瞬間续徽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工亲澡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钦扭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓床绪,卻偏偏與公主長得像客情,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子癞己,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容