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