2017-02-16 118 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