2017-02-16 160 views
1

任何人都可以澄清這個命令的語法:泊塢窗行程語法

$ docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py 

我可以看到:

Host directory: /src/webapp 
Container: /webapp 

,但什麼是training/webapp?這是圖像嗎?如果是這樣,爲什麼有/

並且之後的所有內容(即python app.py)您想要在容器中運行的命令?

=====

而與此命令澄清:

$ docker run -d -P --name web -v /webapp training/webapp python app.py 

如果只指定-v /webapp它是如何工作 - 相當於/webapp:/webapp是什麼?

+0

的'-v/src目錄/ Web應用程序:/webapp'創建一個卷,而'training/webapp'是將要使用的映像。命令'python app.py'將在啓動時在容器中運行。你可以隨時查看幫助,看看不同的交換機有哪些不同的交換機:'docker --help' – Cyclonecode

+0

And for: $ docker run -d -P --name web -v/webapp training/webapp python app.py 如果你只指定-v/webapp - 是否等同於/ webapp:/ webapp? – Snowcrash

回答

1

你可以找到docker runhere

基本結構的文件看起來是這樣的:

$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

  • -d讓我們你在分離模式下運行泊塢窗的容器,這樣你就不會請參閱控制檯輸出
  • -P將所有暴露的端口發佈到主機接口
  • --name你的容器
  • -v你安裝host/path:container/path,卷的名稱,其中你的情況/src/webapp是你的本地計算機上,/webapp是你的容器內

https://docs.docker.com/engine/getstarted/step_six/

  • training/webapp是泊塢窗圖像的用戶名和圖像名稱。我已經在DockerHub鏈接的圖像的位置,你

  • python app.py是命令(蟒蛇)和參數運行時,容器開始(app.py)

+0

而在'-v/webapp'的情況下?例如。 '$ docker run -d -P -name web -v/webapp training/webapp python app.py' – Snowcrash

+0

請參閱這裏的卷的文檔https://docs.docker.com/engine/tutorials/dockervolumes/#/加入-A-數據量 – Huber

0

是的,training/webapp是圖像名稱。 Dockerhub只接受這個名字。 training是用戶名,webapp是圖像名稱。

如果您不使用dockerhub(這是默認情況下,docker pull image的圖像存儲庫)並在本地構建圖像,則可以提供任何名稱。

python app.py : command that will execute when docker up 
--name web : this will be name of container 
-v /src/webapp:/webapp : this will create volume webapp and mount on /src/webapp 
--publish-all, -P : Publish all exposed ports to random ports 

如需更多幫助,請參閱docker run Documentation