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后面执行,故报错

 

posted @ 2022-09-09 01:27  南昌拌粉的成长  阅读(40)  评论(0编辑  收藏  举报