NGINX作为另一个容器上的反向代理 – 如何configurationconfiguration文件
我想在另一个容器前面有Nginx反向代理。 这两个容器将在同一个dockernetworking上使用:
docker network create my-net
现在,通常我可以检查一下容器的IP地址,然后在Nginxconfiguration文件中使用它。 我如何做到这一点,所以它是无缝的? 这样我就可以使用一个docker-compose文件,并将两个容器放在同一个networking上,并且正确configuration了Nginx。
谢谢
如果使用docker-compose,则不需要创build自己的networking,它将创build一个专用networking,以知道同一个撰写文件中的所有其他服务。 例如:
泊坞窗,compose.yml
version: '2' services: php: image: php5.6 ...<snip>... nginx: image: nginx:stable-alpine ports: - "443:443" links: - php ...<snip>...
那么在nginxconfiguration中:
proxy_pass http://php;
你不需要在nginx组合块中指定networking的“链接”(它应该知道所有的服务名),但是它将有助于定义容器的加载顺序。
默认情况下,Compose会为您的应用程序设置一个networking。 服务的每个容器都join默认networking,并且该networking上的其他容器都可以访问它们,并且可以通过与容器名称相同的主机名来发现它们。
我build议为Docker容器使用自动化的Nginx反向代理
nginx-proxy设置一个运行nginx和docker-gen的容器。 docker-gen为nginx生成反向代理configuration,并在容器启动和停止时重新加载nginx。