some differents points about docker CMD and ENTRYPOINT or RUN
This project is maintained by wangfakang
关于RUN CMD ENTRYPOINT命令的区别:
而CMD以及ENTRYPOINT命令是执行在镜像执行产生容器的时候.
在CMD后面加中括号,则命令最终会通过exec产生的进程中进行执行,而不加中括号则在当前的/bin/sh环境中执行.
相应的ENTRYPOINT也有类似的两种写法.
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)
ENTRYPOINT ["executable", "param1", "param2"] (exec form, the preferred form)
ENTRYPOINT command param1 param2 (shell form)
其中CMD的第二种写法是为ENTRYPOINT传递参数的,如:
FROM ubuntu
CMD ["-l"]
ENTRYPOINT ["ls"]
上面相当于:ENTRYPOINT ["ls -l"]
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流