来自这篇文章
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