我正在尝试让一个自定义的java应用程序和nginx在同一个docker容器中运行。nginx在这里充当反向代理,并将请求重定向到java应用程序。所以
外部世界应用程序{ nginx -> -> } (docker)。
我该如何设置?
发布于 2018-04-16 13:39:28
首先,我会按照@jonrsharpe的建议,将代理与java可执行文件分开。只需在另一个容器中使用官方nginx图像即可。
那么编写Dockerfile就非常简单了:
之类的东西
编辑:
如果您需要将两个应用程序打包到同一个容器中,那么使用supervisord作为入口点几乎是必须的。
一旦PID为1的进程死亡/退出,Docker容器就会退出。您不能同时使用PID为1的java和nginx,因此您可能会有一个没有运行jar的工作代理,或者一个没有运行代理的jar。这就是supervisord派上用场的地方:您可以将两个应用程序都添加到其中,并在其中一个应用程序终止时立即让容器退出。
https://stackoverflow.com/questions/49858184
复制