来自这篇文章
CMD和ENTRYPOINT,都可以指定镜像启动命令,CMD会被镜像启动参数覆盖,ENTRYPOINT不会(除非增加--entrypoint参数)。
# dockerfile
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
CMD [“echo”, “Hello World”]
docker run [image_name]
以上命令运行,输出Hello world
sudo docker run [image_name] hostname
以上命令运行,输出hostname命令的内容
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
ENTRYPOINT [“echo”, “Hello World”]
docker run [image_name]
以上命令运行,输出Hello world
sudo docker run [image_name] hostname
以上命令运行,输出Hello world hostname,即被添加在了原命令后面
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
ENTRYPOINT [“echo”, “Hello”]
CMD [“World”]
docker run [image_name]
以上命令运行,输出Hello world,CMD作为参数附加在了ENTRYPOINT之后
sudo docker run [image_name] hostname
以上命令运行,输出Hello hostname,即CMD被替换,而ENTRYPOINT仍生效
原文:https://www.cnblogs.com/mosakashaka/p/13042021.html