摘要:問題運行命令后,發現容器并沒有跑起來,而是變成了狀態。容器的生命周期。要把容器看做是一個多帶帶的進程及運行環境。其中的值是可以被覆蓋的。如下圖根據上圖中的前兩行可知,容器運行后默認執行的是腳本,腳本命令的參數是。
問題:運行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文件中有兩個關鍵字CMD和ENTRYPOINT。其中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 又一核心概念。簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機可以理解為模擬運行的一整套操作系統(提供了運行態環境...
摘要:腳本運行函數執行完后,刪除啟動以上是制作鏡像的配置文件。鏡像必須先鏡像,才能鏡像。查看容器狀態進入到容器中查看數據庫只要數據庫文件目錄存在,可以隨意刪除重建,恢復很快。 構建DB Docker鏡像 mysql的代碼文件 [root@Optimus /]# cd docker-training/ [root@Optimus docker-training]# ls centos7 my...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...
閱讀 1379·2023-04-25 18:34
閱讀 3437·2021-11-19 09:40
閱讀 2824·2021-11-17 09:33
閱讀 2935·2021-11-12 10:36
閱讀 2823·2021-09-26 09:55
閱讀 2653·2021-08-05 10:03
閱讀 2512·2019-08-30 15:54
閱讀 2861·2019-08-30 15:54