亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談Docker run 容器處于created狀態(tài)問題

 更新時間:2021年03月19日 09:22:29   作者:溫暖的電波  
這篇文章主要介紹了解決Docker run 容器處于created狀態(tài)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在最近遇到的一次問題中,有這樣一種現(xiàn)象:

系統(tǒng)有一個測試腳本會不斷的執(zhí)行docker run命令來運行容器,在測試過程中發(fā)現(xiàn)有一個情況是,有時候容器沒有完全被運行到"Up"狀態(tài),而是處于"created"狀 態(tài),現(xiàn)象十分奇怪。

上環(huán)境首先查看了"created"狀態(tài)的容器,以及dockerd日志:

(1) dockerd的日志中只有"post create"請求,但是居然沒有收到該容器的"post start"請求;

(2) 手動執(zhí)行docker start是可以將此容器拉起到"Up"狀態(tài),說明容器、鏡像本身沒有問題。

綜合上面現(xiàn)象,懷疑是"docker run"流程沒有執(zhí)行完畢,docker run就退出了導致。立刻翻閱"docker run"在cli/command/container/run.go中對于"docker run"命令的處理函數(shù)func runRun()的實現(xiàn)中有如下情況:

func runRun(dockerCli *command.DockerCli, flags *pflag.FlagSet, opts *runOptions, copts *runconfigopts.ContainerOptions) error {
 。。。。。。
 createResponse, err := createContainer(ctx, dockerCli, config, hostConfig, networkingConfig, hostConfig.ContainerIDFile, opts.name)
 。。。。。。
 if err := client.ContainerStart(ctx, createResponse.ID, types.ContainerStartOptions{}); err != nil {)
 。。。。。
}

如果在執(zhí)行完createContainer()函數(shù)后"docker run"命令異常退出(如遇到kill信號),此時ContainerStart()函數(shù)無法繼續(xù)運行。這就會導致容器雖然創(chuàng)建成功處于"created"狀態(tài),但是并沒有真正的給dockerd"post start",最終造成上述現(xiàn)象。

因而在日常生產(chǎn)過程中有必要對"docker run"命令進行監(jiān)控,比如判斷它是否執(zhí)行成功,是否異常退出,退出時返回值是否為0等等。

補充:docker運行容器后處于運行狀態(tài)三種方法

第一種解決方法

我們在運行docker容器的時候很多時候處于 Exited狀態(tài)。

比如下面的命令 docker run -d --name nginx -P nginx /bin/bash 這種交互形式在運行完之后就會退出,重新docker start的也沒有用;

如果想在運行之后容器處于運行狀態(tài)只需把/bin/bash去掉即可。

第二種解決方法

docker run -it --name nginxit -P nginx

現(xiàn)在容器nginxit處于退出狀態(tài);

只要我們用docker啟動下就可以使用

docker start nginxit

第三種和第二種類似:

docker run -it --name nginxit2 -P nginx /bin/bash

前后臺交互需要退出:

root@de4dbb27f905:/# exit

然后再重啟:

docker start nginxit2

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 如何使用docker+frp進行內(nèi)網(wǎng)穿透

    如何使用docker+frp進行內(nèi)網(wǎng)穿透

    這篇文章主要介紹了使用docker+frp進行內(nèi)網(wǎng)穿透,在公網(wǎng)上的ubuntu系統(tǒng)需要配置相關(guān)操作,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Docker使用Prune命令清理none鏡像

    Docker使用Prune命令清理none鏡像

    本文主要介紹了Docker使用Prune命令清理none鏡像,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • docker容器重啟錯誤的解決方案

    docker容器重啟錯誤的解決方案

    本文主要介紹了docker容器重啟錯誤的解決方案,詳細的介紹了docker 重啟錯誤的原因及其解決方法,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • docker安裝Elasticsearch7.6集群并設(shè)置密碼

    docker安裝Elasticsearch7.6集群并設(shè)置密碼

    這篇文章主要介紹了docker安裝Elasticsearch7.6集群并設(shè)置密碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 使用Docker Compose 實現(xiàn)nginx負載均衡的方法步驟

    使用Docker Compose 實現(xiàn)nginx負載均衡的方法步驟

    這篇文章主要介紹了使用Docker Compose 實現(xiàn)nginx負載均衡的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Docker重命名鏡像名稱和TAG操作

    Docker重命名鏡像名稱和TAG操作

    這篇文章主要介紹了Docker重命名鏡像名稱和TAG操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Mac上使用Docker如何快速啟動MySQL測試

    Mac上使用Docker如何快速啟動MySQL測試

    本文主要討論如何使用Docker快速啟動 MySQL 測試,包括Mac環(huán)境。非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • 在docker中安裝mysql詳解

    在docker中安裝mysql詳解

    本篇文章主要介紹了在docker中安裝mysql詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Docker學習筆記之k8s部署方法

    Docker學習筆記之k8s部署方法

    這篇文章主要介紹了Docker學習筆記之k8s部署方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Docker部署nGrinder性能測試平臺過程解析

    Docker部署nGrinder性能測試平臺過程解析

    這篇文章主要介紹了Docker部署nGrinder性能測試平臺過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論