CMD和ENTRYPOINT是Dockerfile中定义容器启动命令的关键字。
CMD用于指定容器启动时运行的命令。可以有多个CMD指令,但只有最后一个CMD指令会生效。CMD可以包含参数,如果在运行docker run命令时指定了参数,将会覆盖CMD中指定的参数。
ENTRYPOINT用于指定容器启动时运行的可执行文件或脚本。和CMD一样,只有最后一个ENTRYPOINT指令会生效。ENTRYPOINT指令不会被覆盖,而是被附加到docker run命令的参数之前。
总结起来,CMD用于定义默认的容器启动命令,可以被覆盖,而ENTRYPOINT用于定义容器启动的主要命令,不会被覆盖。通常情况下,CMD用于提供默认的命令参数,而ENTRYPOINT用于指定容器启动的主要命令。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Dockerfile中ENTRYPOINT 和 CMD的区别说明