asp.net - Nginx 无法将 Docker 部署到 Amazon

标签 asp.net amazon-web-services nginx docker amazon-elastic-beanstalk

我正在尝试通过 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/

相关文章:

c# - 我如何将登录页面设置为我在 C# 中没有主菜单的第一页

c# - 通过 web.config 删除查询字符串

http - CloudFront 缓存 - 如何确保 CF 在到期后从 S3 原始服务器刷新?

amazon-web-services - 增加 EC2 磁盘存储而不丢失任何数据

ember.js - 如何为 Ember.js + Express 设置开发环境

asp.net - 无法加载文件或程序集 System.Web.Http,版本=5.2.2.0

c# - 将传递的字符串参数引用到分部 View

amazon-web-services - S3静态网站/蓝绿部署

ubuntu - 带有 nginx 的网络服务器一直工作到创建 .save 文件

ruby-on-rails - 无法使用 nginx 调用我的 rails 服务器,出现 Puma::HttpParserError