即使CMD记录在Dockerfile中,它实际上也是运行时信息。就像EXPOSE一样,但是与RUN和ADD相反。通过这个,我的意思是您可以稍后在扩展的Dockerfile中覆盖它,或者在您正在运行的run命令中对其进行简单覆盖。在任何时候,只能有一个CMD。
如果您想运行多种服务,我确实会使用主管。您可以为每个服务创建一个主管配置文件,将它们添加到目录中,然后运行主管
supervisord -c/etc/supervisor以指向一个主管配置文件,该文件将加载所有服务,并且看起来像
[supervisord]nodaemon=true[include]files = /etc/supervisor/conf.d/*.conf
如果您想了解更多详细信息,我在这里写了一个关于此主题的博客:http :
//blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-
processes-supporting-image-遗产/



