2016-11-06 276 views
0

所以我Dockerfile結束時,我有這樣的:爲什麼我的Dockerfile CMD不起作用?

WORKDIR /home 
CMD django-admin startproject whattt 
CMD /bin/bash 

當我創建圖像,然後運行容器,一切正常,沒有錯誤,在泊塢日誌中沒有錯誤。但是,仍然有一些問題我看不出來。

第一個也是最重要的問題是CMD django-admin startproject實際上並沒有創建任何項目。在運行容器之後,我可以手動運行django-admin startproject並按預期工作。當我將它作爲來自Dockerfile的CMD發佈時,則不會創建任何項目。

第二個問題是在django-admin行之後,我把第二個CMD放在/ bin/bash中,所以當我運行容器時它會打開一個shell(這樣我就可以進入並檢查是否創建了我的django項目) 。這會造成一個問題或衝突與以前的Django管理線?如果我刪除這一行,那麼當我運行容器時,我無法打開shell並檢查我的django項目是否在那裏?

任何幫助,將不勝感激,謝謝。 「

回答

4

」在Dockerfile中只能有一個CMD指令。如果列出多個CMD,則只有最後一個CMD纔會生效。「通過Dockerfile reference。所以你的第一個CMD不會起作用。

如果要執行容器的bash,請嘗試docker exec命令,並且the document提供示例命令,以便您可以按照步驟操作。