首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在nginx容器正式启动后运行uwsgi?

在nginx容器正式启动后运行uwsgi?
EN

Stack Overflow用户
提问于 2018-10-11 21:12:20
回答 2查看 129关注 0票数 0

我刚写了一个基于nginx官方镜像的包含CMD["uwsgi", "--ini", "uwsgi.ini"]的自定义容器dockerfile

我看到这张nginx官方图片的Dockerfile的末尾有一个CMD["nginx", "-g", "daemon off"]

这应该意味着在容器启动时启动nginx。因此,我在dockerfile中的CMD["uwsgi", "--ini", "uwsgi.ini"]将覆盖它,因此容器将立即退出。我怎样才能不重写它,让nginx和uwsgi都能工作?

我谷歌了很多,但这些解决方案都不是基于nginx的官方形象。显然,我可以只为uwsgi运行另一个容器,并将其连接到nginx容器(即由nginx offcial image运行的容器),但我认为这是麻烦和不必要的。

the nginx offcial image here

EN

回答 2

Stack Overflow用户

发布于 2018-10-11 21:25:42

您可以通过提供外壳脚本/包装器,使用ENTRYPOINTCMD在容器内运行多个进程。你应该尽量避免这样做,因为这不是最佳实践。单个容器应该负责管理单个进程。

但是,有一个变通方法,您可以通过它来管理容器内的多个进程,例如,使用shell脚本包装器supervisor

它在官方文件里-

https://docs.docker.com/config/containers/multi-service_container/

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 21:35:45

首先,这不是在一个容器中运行两个进程的docker哲学。这是一个被普遍接受的方法:officialythrough the community

因此,您更愿意使用nginx和您的应用程序构建一个堆栈。

如果你真的想或者需要按照你自己的方式去做,你可以先指定命令pipe several command within the CMD instruction ...但您也可以在这里使用script

请记住,脚本将从您的容器中执行,所以请从容器POV考虑,而不是从主机POV!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52760958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档