AWS ECS nginx:在上游找不到[emerg]主机

时间:2020-09-03 15:08:32

标签: amazon-web-services docker nginx flask amazon-ecs

我正在尝试使用Docker在AWS ECS上运行flask和nginx应用程序。应用程序容器全部在同一台docker计算机上运行。当任务启动时,nginx容器以退出代码1退出,并出现以下错误:nginx:在/etc/nginx/conf.d/nginx.conf:2的上游“ web:5000”中找不到[emerg]主机。 / p>

这是我的docker-compose.yml文件:

version: "3"

services:
    web:
        image: 131099/generateme
        expose:
            - 5000
        networks:
            - generateme
        logging:
            driver: awslogs
            options: 
                awslogs-group: generateme
                awslogs-region: eu-west-2
                awslogs-stream-prefix: web
    server:
        image: 131099/generateme-server
        ports:
            - 80:80
        environment:
            - DOCKER_PROVIDER = ecs
        external_links:
            - web
        depends_on:
            - web
        networks:
            - generateme
        logging:
            driver: awslogs
            options: 
                awslogs-group: generateme
                awslogs-region: eu-west-2
                awslogs-stream-prefix: server

这是我的nginx.conf文件:

upstream generateme {
    server web:5000;
}

server {

    listen 80;

    location / {
        resolver 127.0.0.11;
        proxy_pass http://generateme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
    }

}

任何想法是什么原因造成的?我读过其他类似的文章,但是由于我是ECS的新手,所以我不知道该怎么办。

编辑:当我查看日志时,服务器容器似乎总是在Web容器之前启动。如果有一个depends_on属性怎么办?

1 个答案:

答案 0 :(得分:0)

尝试替换

external_links:
   - web

作者

links:
   - web

更详细的答案 Docker-compose links vs external_links