其他分享
首页 > 其他分享> > dockerfile CMD和ENTRYPOINT区别

dockerfile CMD和ENTRYPOINT区别

作者:互联网

dockerfile entrypoint和cmd区别

CMD:

1、在docker run时候运行,dockerfile中如果存在多个CMD指令,仅最后一个生效。

2、docker run时CMD会被新参数覆盖原因命令

案例

1、创建dockerfile1文件

cat Dockerfile1
FROM centos
CMD ["touch","11.java"]
CMD ["ls","-a"]

2、执行构建

docker build -f Dockerfile1 -t mycentos:1.0 .

3、查看结果

4、执行docker run mycentos:1.0 ls -l,其中cmd的ls -a被覆盖,执行ls -l

 

 

5、执行docker run mycentos:1.0 -l报错,覆盖了原有命令

ENTRYPOINT:docker run时运行,可以追加命令

案例:

FROM centos
ENTRYPOINT ["ls","-a"]

1、执行docker run mycentos:2.0 ls -l报错,ls -l 接在ls -a后面执行,故报错

 

标签:run,CMD,mycentos,ENTRYPOINT,ls,报错,docker,dockerfile
来源: https://www.cnblogs.com/wuchangblog/p/16671347.html