我使用nginx反向代理和docker,并希望自动化我的nginx配置。例如,我想告诉我的java应用一个域名/服务器名(例如myapp.example.com)和一个后端系统。我的java应用程序应该会告诉nginx对其进行配置。
这是否可能,或者是否有替代的反向代理软件具有该功能。
发布于 2020-04-19 01:57:39
要实现这一点,一种方法是使用两个容器( java容器和nginx容器)都可以访问的共享卷,并且nginx配置文件位于其中。如果java不在docker中,那么它只需要访问映射的文件夹就可以了。
每当您想要更新配置时,只需重写它,然后触发nginx重新加载。有多种方法可以实现这一点。最简单的方法是使用
docker exec nginx-container-name nginx -s reload例如,通过Java ProcessBuilder或令人敬畏的Java Docker Project https://github.com/docker-java/docker-java。
注意:如果在docker容器中运行java,则必须映射容器内的docker套接字(例如,从shell使用-v /var/run/docker.sock:/var/run/docker.sock )。
https://stackoverflow.com/questions/58260010
复制相似问题