如何解决AWS ECS nginx:在上游找不到[emerg]主机
我正在尝试使用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属性怎么办?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。