DockerFile CMD/ENTRYPOINT 镜像

CMD/ENTRYPOINT都是指定一个容器启动时要运行的命令

CMD命令

Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换

ENTRYPOINT命令

docker run 之后的参数会被当做参数传递给 ENTRYPOINT,之后形成新的命令组合

一、制作CMD版可以查询IP信息的容器

 

 

 二、如果我们希望显示 HTTP 头信息,就需要加上 -i 参数

 

分析:

我们可以看到可执行文件找不到的报错,executable file not found。
之前我们说过,跟在镜像名后面的是 command,运行时会替换 CMD 的默认值。
因此这里的 -i 替换了原来的 CMD,而不是添加在原来的 curl -s http://ip.cn 后面。而 -i 根本不是命令,所以自然找不到。

那么如果我们希望加入 -i 这参数,我们就必须重新完整的输入这个命令:
$ docker run myip curl -s http://ip.cn -i

三、制作ENTROYPOINT版查询IP信息的容器

 

 

 

posted @ 2020-01-29 14:22  红尘年少  阅读(562)  评论(0编辑  收藏  举报