我正在尝试通过 elasticbeanstalk 将 Docker 容器中的 .net asp web api 应用程序部署到 Amazon,但这是我得到的:
ERROR: Failed to start nginx, abort deployment
ERROR: [Instance: i-ecf0d365] Command failed on instance. Return code: 1 Output: nginx: [emerg] invalid host in upstream "172.17.0.2:5000/tcp" in /etc/nginx/conf.d/elasticbeanstalk-nginx-docker-upstream.conf:2
nginx: configuration file /etc/nginx/nginx.conf test failed
图片在这里:https://hub.docker.com/r/wedkarz/awsm8-api/
文件
FROM microsoft/aspnet:latest
COPY . /app
WORKDIR /app
RUN ["dnu", "restore"]
EXPOSE 5000/tcp
ENTRYPOINT ["dnx", "-p", "project.json", "web"]
elasticbeanstalk-nginx-docker-upstream.conf 文件
upstream docker {
server 172.17.0.2:5000/tcp;
keepalive 256;
}
最佳答案
错误消息 nginx: [emerg] invalid host in upstream "172.17.0.2:5000/tcp"
显示了一个 upstream server
参数,在端口号后面带有伪字符 /tcp
。见 upstream module documentation 。
@Fishman 确认 nginx
配置文件中出现了错误的参数,并且该文件是从 Dockerfile 生成的,并且通过将 EXPOSE
参数(在 Dockerfile 内)的值从 5000/tcp
更改为 5000
来纠正问题。
关于asp.net - Nginx 无法将 Docker 部署到 Amazon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212166/