首页 > 其他 > 详细

DockerFile CMD/ENTRYPOINT 镜像

时间:2020-01-29 15:21:26      阅读:79      评论:0      收藏:0      [点我收藏+]

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信息的容器

 技术分享图片

 技术分享图片

技术分享图片

 

DockerFile CMD/ENTRYPOINT 镜像

原文:https://www.cnblogs.com/my-program-life/p/12240226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!