加入收藏 | 设为首页 | 会员中心 | 我要投稿 泉州站长网 (https://www.0595zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

论docker中 CMD 与 ENTRYPOINT 的差异

发布时间:2022-05-24 12:37:42 所属栏目:云计算 来源:互联网
导读:Dockerfile 用于自动化构建一个docker镜像。Dockerfile里有 CMD 与 ENTRYPOINT 两个功能咋看起来很相似的指令,开始的时候觉得两个互用没什么所谓,但其实并非如此: CMD在容器运行的时候提供一些命令及参数,用法如下: 复制 CMD [executable,param1,param2
          Dockerfile 用于自动化构建一个docker镜像。Dockerfile里有 CMD 与 ENTRYPOINT 两个功能咋看起来很相似的指令,开始的时候觉得两个互用没什么所谓,但其实并非如此:
 
          CMD在容器运行的时候提供一些命令及参数,用法如下:
 
复制
CMD ["executable","param1","param2"] (exec form, this is the preferred form)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (shell form)
1.
2.
3.
第一种用法:运行一个可执行的文件并提供参数。
第二种用法:为ENTRYPOINT指定参数。
第三种用法(shell form):是以”/bin/sh -c”的方法执行的命令。
  
          如你指定:
 
复制
CMD [“/bin/echo”, “this is a echo test ”]
1.
build后运行(假设镜像名为ec):
 
复制
docker run ec
1.
就会输出: this is a echo test
 
是不是感觉很像开机启动项,你可以暂时这样理解。
 
ENTRYPOINT  
 
字面意思是进入点,而它的功能也恰如其意。
 
An ENTRYPOINT allows you to configure a container that will run as an executable.它可以让你的容器功能表现得像一个可执行程序一样。
 
容器功能表现得像一个可执行程序一样,这是什么意思呢?

(编辑:泉州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!