泊坞窗nginx的代理托管
问题描述:
简短说明:泊坞窗nginx的代理托管
Nginx的泊坞窗上运行,如何配置nginx的,以便它调用转发到主机。
长描述:
我们有一个网络应用,通信,夫妇后端的(可以说rest1,rest2和rest3)。我们负责rest1
。
让我们考虑我在我的电脑上手动启动rest1
并在2345端口上运行。我希望nginx(它在docker中运行)将所有调用重定向到rest1
到我自己的运行实例(请注意,实例正在主机上运行,不是任何容器,也不在docker中)。并且可以将rest2
和rest3
添加到其他某个码头节点,或者可能是某个其他服务器(关心的人)。
我所寻找的是:
-
docker-compose.yml
配置(如果需要)。 - nginx配置。
在此先感谢。
答
nginx的配置类似如下(请确保您更换泊坞窗主机的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
谢谢,没有尝试它尚未,但我很快。无论如何自动化过程?我的意思是主机IP?因为我们想要开发可以在每台机器上运行的东西。 –
使用bash脚本,首先'hostname -I',然后'grep'范围,然后'sed'进入配置文件并替换。 –
或者使用像盐这样的配置管理工具。 –