Docker运行语法

Docker运行语法,docker,Docker,任何人都可以澄清此命令中的语法: $ docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py 我可以看到: Host directory: /src/webapp Container: /webapp 但是什么是培训/webapp?这是图像吗?如果是,为什么会有一个/ 之后的所有内容(即python app.py)都是您希望在容器中运行的命令吗 ===== 并以此命令澄清: $ dock

任何人都可以澄清此命令中的语法:

$ docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py
我可以看到:

Host directory: /src/webapp
Container: /webapp
但是什么是
培训/webapp
?这是图像吗?如果是,为什么会有一个
/

之后的所有内容(即
python app.py
)都是您希望在容器中运行的命令吗

=====

并以此命令澄清:

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

如果只指定
-v/webapp
-它是如何工作的?这是否等同于
/webapp:/webapp

是,
培训/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的文档

基本结构如下所示:

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

  • -d
    让我们在分离模式下运行docker容器,这样就看不到控制台输出
  • -P
    将所有公开的端口发布到主机接口
  • --name
    容器的名称
  • -v
    您装载的卷
    主机/path:container/path
    ,在您的情况下,
    /src/webapp
    位于本地计算机上,
    /webapp
    位于您的容器内

  • 是docker映像的用户名和映像名。我已经为您链接了DockerHub上图像的位置

  • python app.py
    是容器启动时运行的命令(python)和参数(app.py)


  • -v/src/webapp:/webapp
    创建卷,而
    培训/webapp
    是将要使用的映像。启动时,将在容器中运行命令
    python app.py
    。您可以随时查看帮助以查看不同开关的功能:$docker run-d-P——命名web-v/webapp training/webapp python app.py如果您只指定-v/webapp,它是如何工作的?它是否等同于/webapp:/webapp?如果是简单的`-v/webapp
    ?例如
    $docker run-d-P--name web-v/webapp training/webapp python app.py`请参阅此处的卷文档