Nginx在Docker容器中解析系统

时间:2017-05-29 15:16:11

标签: nginx docker resolve

我在Docker中遇到Nginx的奇怪情况。

我有3个容器作为Docker swarm中的服务运行。

Docker版本为:Person

运行swarm的Docker命令是:17.03.1-ce, build c6d412e.

Docker撰写文件位于:https://raw.githubusercontent.com/sodrian/synergy/master/docker-compose.yml

奇怪的是如下:

如果我使用与此类似的80端口nginx服务器指令,一切正常:

docker deploy -c docker-compose.yml synergy

如果使用443指令,我会不断收到错误:

server {
    listen 80;
    server_name SOME_NAME.com;
    location / {
        uwsgi_pass synergy_uwsgi:8001;
        include uwsgi_params;
    }
}

Nginx错误:server { listen 443 ssl; server_name SOME_NAME.com; ssl_certificate SOME_PATH; ssl_certificate_key SOME_OTHER_PATH; location / { uwsgi_pass synergy_uwsgi:8001; include uwsgi_params; } }

我必须编写脚本

https://raw.githubusercontent.com/sodrian/synergy/master/deploy/nginx/synergy_uwsgi_resolve.sh

并将nginx容器上的CMD更改为:

host not found in upstream "synergy_uwsgi"

让它运行。

所以问题是:为什么nslookup可以解析synergy_uwsgi主机,但是nginx不能?

0 个答案:

没有答案