dockerfile中cmd和entrypoint的区别
cmd语法
The CMD instruction has three forms:
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)
注意
:Dockerfile中只有一条CMD指定,如果列出多个,只有最后一个CMD才会生效。
CMD的主要目的是为正在执行的容器提供默认值。这些默认值可以包括可执行问卷,也可以省略可执行问卷,在这种情况下必须指定给一条ENTRYPOINT指令。
多条cmd可以放到一个文件里面,实例:
ENTRYPOINT语法
ENTRYPOINT 有两种形式:
exec形式,这是首选形式:
ENTRYPOINT ["executable", "param1", "param2"]
外壳形式:
ENTRYPOINT command param1 param2
CMD与ENTRYPOINT的区别
docker run后面的参数会将CMD指定的参数进行覆盖。
ENTRYPOINT与CMD的区别是不可以被docker run 后的参数覆盖,会吧docker run后面的参数传递给ENTRYPOINT指定的参数