我做了很多研究,但不确定我是否理解正确, 在Docker上部署的“最佳实践”是每个容器只有一个进程。
有关此问题的几个
含义是最好拥有一个服务(例如,一个应用程序),但是此应用程序可以具有多进程体系结构-对还是错?
容器中对此有实际限制吗?例如,如果我“忽略”建议的最佳做法并尝试在我的应用程序中生成多个进程?会失败吗?
答案 0 :(得分:1)
[最佳实践...]具有单个服务(例如,单个应用程序)。是
[如果我...]尝试在我的应用程序中产生多个进程?会失败吗?否
在docker上部署的公认“最佳实践”是每个容器只有一个进程。否-不必要。
想法是您的“服务”应尽可能“减少”;依赖于其他“服务”(可能在其他容器中)。在您的容器中根据需要运行尽可能少的内容-但不要少。
答案 1 :(得分:1)
Docker可以运行底层cgroup允许的尽可能多的进程,会有一个前台进程,其中stdout是docker日志。如果该过程停止,则您的容器将停止。最佳实践是对与其他服务隔离的容器执行一件事,除非您定义接口。例如,打开Web服务的端口。做一件事将使docker映像具有可移植性并具有潜在的可扩展性。