任何人都可以澄清此命令中的语法:
$ 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 :(得分:1)
您可以找到docker run
here
基本结构如下:
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
-d
让你以分离模式运行docker容器,这样你就不会看到控制台输出-P
将所有公开的端口发布到主机接口--name
您的容器名称-v
您装入的卷host/path:container/path
,您的情况/src/webapp
位于您的本地计算机上,/webapp
位于您的容器内training/webapp是泊坞窗图片的用户名和图片名称。我已经为您链接了DockerHub上的图像位置
python app.py
是命令(python),当容器启动时运行参数(app.py)
答案 1 :(得分: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。