我正在尝试在同一个docker容器中运行自定义java应用程序和nginx。 nginx在此充当反向代理,并将请求重定向到java应用程序。所以
外界 - > {nginx - >应用程序}(docker)。
如何设置?
答案 0 :(得分:0)
首先,我将代理与java可执行文件分开,正如@jonrsharpe建议的那样。只需在另一个容器中使用官方nginx图像。
然后编写Dockerfile非常简单:
编辑:
如果你需要将两个应用程序打包在同一个容器中,正如你所提到的那样,使用supervisord作为入口点几乎是强制性的。
一旦进程PID 1死亡/退出,Docker容器就会退出。你不能同时拥有带PID 1的java和nginx,所以你冒着一个没有运行jar的工作代理或没有代理运行jar的风险。 以下是supervisord的方便之处:您可以将两个应用程序添加到其中,并在其中一个应用程序终止后立即退出容器。