docker - Docker中的“CMD [“-?”]”是什么意思?
问题描述
《Docker Book v17.12.0-ce》第223页
清单 6.19:我们的战争文件提取器
FROM ubuntu:16.04
MAINTAINER James Turnbull
ENV REFRESHED_AT 2016-06-01
RUN apt-get -yqq update
RUN apt-get -yqq install wget
VOLUME [ "/var/lib/tomcat7/webapps/" ]
WORKDIR /var/lib/tomcat7/webapps/
ENTRYPOINT [ "wget" ]
CMD [ "-?" ]这个非常简单的图像做了一件事:它从一个 URL 中获取任何文件,当容器从它运行时指定的 URL 并将该文件存储在 /var/lib /tomcat7/webapps/ 目录中。该目录也是一个卷和任何容器的工作目录。我们将与我们的 Tomcat 服务器共享这个卷并运行它的内容。最后,ENTRYPOINT 和 CMD 指令允许我们的容器在没有指定 URL 时运行;他们通过在没有 URL 的情况下运行容器时返回 wget 帮助输出来做到这一点。
谁能告诉我“CMD [“-?”]”是什么意思
我知道ENTRYPOINT和CMD的概念,我不明白的是“-?”的含义 在“wget -?”
解决方案
当你运行一个 Docker 容器时,它通过简单地连接“入口点”和“命令”来构造一个命令行。那些来自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
推荐阅读
- go - 为什么golang go-gin错误总是返回空对象
- php - 在 WordPress 上从 Google 字体添加字体
- flutter - Flutter 扩展Tile 标题填充
- web-component - 书签:突出显示 Web 组件
- arrays - 如何使用 XSL 3.0 在 xml 映射中添加/删除条目
- typescript - 如何使用“ngFor”指令在angular10中的get api调用数组中生成等于“postId”属性的数量的按钮?
- django - 使用 FileField 进行 Django 表单验证
- c# - 如何使用 HttpWebRequest 从亚马逊获取 html 内容
- reactjs - React Firebase startAfter() 查询未按预期工作
- node.js - 如何捕获事件/侦听/观察从 nodejs 中的内部函数发出的事件?