Docker的nginx代理主机

简短的介绍:

运行在docker上的Nginx,如何configurationnginx,以便将调用转发给主机。

详细描述:

我们有一个Web应用程序与后端的几个通信(让我们说rest1,rest2和rest3)。 我们负责rest1

让我们考虑,我开始rest1手动在我的电脑上运行2345端口。 我想nginx(在rest1运行)将所有调用redirect到rest1到我自己的运行实例(注意,实例在主机上运行,​​不是任何容器,也不在docker中)。 而rest2rest3到一些其他docker节点或可能是一些其他的服务器(谁在乎)。

我正在寻找的是:

  1. docker-compose.ymlconfiguration(如果需要)。
  2. nginxconfiguration。

提前致谢。

像下面这样configurationnginx(确保你replace了Docker Host的IP地址)并保存为default.conf

 server { listen 80; server_name _; location / { proxy_pass http://<IP of Docker Host>; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } 

现在调出容器:

 docker run -d --name nginx -p 80:80 -v /path/to/nginx/config/default.conf:/etc/nginx/conf.d/default.conf nginx