【发布时间】:2019-01-12 22:31:52
【问题描述】:
我有一个使用 docker compose 设置的带有 nginx 的反向代理。当我与docker-compose up 一起运行所有服务时,它可以正常工作。但是,我希望能够运行单个容器,并独立于代理容器启动 (docker-compose up service1) 和停止它们。这是我当前 nginx 配置中的一个 sn-p:
server {
listen 80;
location /service1/ {
proxy_pass http://service1/;
}
location /service2/ {
proxy_pass http://service2/;
}
}
现在,如果我同时运行 service1、service2 和代理,一切都很好。但是,如果我运行代理并且只运行 service2,例如,我会收到以下错误:host not found in upstream "service1" in /etc/nginx/conf.d/default.conf:13。我在这里想要的行为是抛出一些 HTTP 错误,然后当该服务出现时适当地路由到它。
有没有办法得到这种行为?
【问题讨论】:
-
标准指令无法做到这一点。也许如果你添加 Lua 模块,你可以编写一个脚本,但不确定那个。
标签: docker nginx docker-compose