[英]Docker: understanding ENTRYPOINT and CMD instructions
我想问一些关于可以在Dockerfile中使用的ENTRYPOINT
和CMD
指令的问题。
fig
或docker-compose
将本地目录作为卷安装在容器中。 何时执行ENTRYPOINT
和CMD
指令?
ENTRYPOINT
,每次启动容器时都会执行此脚本吗? ENTRYPOINT
,那么使用ENTRYPOINT
docker run
或docker exec
执行的所有命令都将作为参数传递给此脚本吗? CMD
恢复? 容器启动并安装卷后? CMD
? 如果我想启动一个包含多个进程的容器/运行severa exacutables怎么办? 1)ENTRYPOINT和CMD按它们在Dockerfile中出现的顺序执行,无论卷安装如何
2)如果你有ENTRYPOINT启动动词,你可以传递一个参数
3)是的,对于docker run,但是一些例子可能会澄清这一点,而docker exec只是让你进入容器
4)CMD在容器启动时执行
5)你可以在Dockerfile中使用几个CMD,但只使用最后一个,docker设计用于运行一个进程,
如果你想运行几个,你需要一些工具,如主管http://docs.docker.com/articles/using_supervisord或runit或s6或daemontools,请参阅http://docs.docker.com/faq
由于CMD很容易被覆盖,而不是ENTRYPOINT(除非你的docker run --entrypoint
),你的Dockerfile中最后一行是最后一行,而最后一行是CMD,实际上是参数,可以改变
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.