Docker的CMD和ENTRYPOINT简单记录

来自这篇文章
CMDENTRYPOINT,都可以指定镜像启动命令,CMD会被镜像启动参数覆盖,ENTRYPOINT不会(除非增加--entrypoint参数)。

例1-CMD

# 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命令的内容

例2-ENTRYPOINT

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,即被添加在了原命令后面

例3-CMD和ENTRYPOINT同时使用

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仍生效

posted @ 2020-06-04 10:33  mosakashaka  阅读(177)  评论(0编辑  收藏  举报