国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker隨筆記—docker run執行后,容器的狀態是Exited的一些困惑

lindroid / 2869人閱讀

摘要:問題運行命令后,發現容器并沒有跑起來,而是變成了狀態。容器的生命周期。要把容器看做是一個多帶帶的進程及運行環境。其中的值是可以被覆蓋的。如下圖根據上圖中的前兩行可知,容器運行后默認執行的是腳本,腳本命令的參數是。

問題:運行docker run -itd -p 5000:5000 --name localregistry registry:2.5 /bin/bash命令后,發現容器并沒有跑起來,而是變成了Exited狀態。如果將末尾的/bin/bash去掉,容器就能正常的start了

解決:
翻看不少docker資料, 到目前為止,對導致此問題的出現算是有了一個比較清晰的認識。
1.容器的生命周期。要把docer容器看做是一個多帶帶的進程及運行環境。容器不等價于一個虛擬的操作系統。Docker的開發人員也一直主張doder容器應該只運行一個進程。例如,一個web server服務就是一個進程。docker run命令就是為了運行一個進程。當一個進程結束了,那么docker容器也就結束了。

2.根據問題中描述的現象,兩條命令的差別就在與末尾是否添加了/bin/bash這條command。暫且先停住。我們回過頭來看docker image是怎么生成的。

3.Dockerfile文件。Dockerfile文件中有兩個關鍵字CMDENTRYPOINT。其中CMD的值是可以被覆蓋的。舉個栗子:
假設Dockerfile中的內容包含了:

FROM python
CMD ["/home/hello.sh","Hello World"]   
ENTRYPOINT ["/home/hello.sh","xiaoming"]

那么根據CMD可被覆蓋的特征來看,如果在docker run后增加了/bin/bash。那么,在鏡像run的時候,執行的CMD就變成了/bin/bash。一般鏡像文件中兩種關鍵字選用其中之一就可以了。但也可以同時使用。同時使用的時候,CMD中的值會被當作ENTRYPOINT的參數。所以,ENTRYPOINT的內容就變成["/home/hello.sh","/bin/bash"]

4.我們再來看我要啟動的registry鏡像中都包含了哪些CMD和ENTRYPOINT。如下圖:

根據上圖中的前兩行可知,容器運行后默認執行的是/entrypoint.sh腳本,腳本命令的參數是/etc/docker/regis...。所以,如果我們自己在run的時候添加了新的command,那么鏡像內置的執行命令就無法正確執行了,于是容器就Exited了。

最后,準備附上參考資料鏈接。但由于此文章是跨天寫的,有些資料找不到了。大家上網查查CMD與ENTRYPOINT區別的資料的就明白了。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27011.html

相關文章

  • Docker 容器操作

    摘要:容器操作啟動啟動容器啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態的容器重新啟動。只用參數時,由于沒有分配偽終端,界面沒有我們熟悉的命令提示符,但命令執行結果仍然可以返回。會發送信號給容器。 容器是 Docker 又一核心概念。簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機可以理解為模擬運行的一整套操作系統(提供了運行態環境...

    elina 評論0 收藏0
  • Docker實戰之入門】Dockerfile詳細分析:構建docker鏡像(3)DB鏡像

    摘要:腳本運行函數執行完后,刪除啟動以上是制作鏡像的配置文件。鏡像必須先鏡像,才能鏡像。查看容器狀態進入到容器中查看數據庫只要數據庫文件目錄存在,可以隨意刪除重建,恢復很快。 構建DB Docker鏡像 mysql的代碼文件 [root@Optimus /]# cd docker-training/ [root@Optimus docker-training]# ls centos7 my...

    lingdududu 評論0 收藏0
  • Flux7 Docker 系列教程(二):必備 15 條命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...

    chemzqm 評論0 收藏0
  • Flux7 Docker 系列教程(二):必備 15 條命令

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...

    AprilJ 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<