代码之家  ›  专栏  ›  技术社区  ›  polar9527

“cmd[”的意思是什么?在Docker中“]”?

  •  0
  • polar9527  · 技术社区  · 6 年前

    Docker Book V17.12.0-CE第223页

    清单6.19:我们的war-fle-fetcher
    来自Ubuntu:16.04
    维修工詹姆斯·特恩布尔
    env于2016年6月1日刷新了
    运行apt get-yqq更新
    运行apt get-yqq安装wget
    卷[“/var/lib/tomcat7/webapps/”]
    工作目录/var/lib/tomcat7/webapps/
    入口点[“wget”]
    命令[“-?”]

    这个难以置信的简单图片只做了一件事:它可以设置URL中的任何fle。 当从中运行容器并将fle存储在/var/lib中时指定 /tomcat7/webapps/目录。这个目录也是一个卷,并且 任何容器的目录。我们要和我们的Tomcat分享这本书 服务器并运行其内容。 最后,entrypoint和cmd指令允许容器在不运行时运行 指定了URL;当容器 运行时没有URL。

    有人能告诉我“cmd[”-“是什么意思吗?”“

    我知道入口点和命令的概念, 我不明白的是“—”的意思。在“wget-?”中

    2 回复  |  直到 6 年前
        1
  •  1
  •   David Maze    6 年前

    当您运行docker容器时,它通过简单地连接“entrypoint”和“command”来构造命令行。那些来自不同的地方 docker run 命令行;但是如果不提供 --entrypoint 选项,然后 ENTRYPOINT 在dockerfile中使用,如果在图像名之后没有提供任何其他命令行参数,则 CMD 是附加的。

    所以,有几个调用:

    # Does "wget -?"
    docker run --rm thisimage
    
    # Does "wget -O- http://stackoverflow.com": dumps the SO home page
    docker run --rm thisimage -O- http://stackoverflow.com
    
    # What you need to do to get an interactive shell
    docker run --rm -it --entrypoint /bin/sh thisimage
    
        2
  •  0
  •   polar9527    6 年前

    我想出来了,作者犯了一个笔误。命令中的参数应该是“-h”。 因为在后面他说“最后,entrypoint和cmd指令允许我们的容器在没有指定URL的情况下运行;当容器在没有URL的情况下运行时,它们通过返回wget帮助输出来运行。”