我正在尝试使用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属性怎么办?
答案 0 :(得分:0)