Amazon web services 使用Docker在AWS Elastic Beanstalk上部署失败

Amazon web services 使用Docker在AWS Elastic Beanstalk上部署失败,amazon-web-services,nginx,playframework,docker,amazon-elastic-beanstalk,Amazon Web Services,Nginx,Playframework,Docker,Amazon Elastic Beanstalk,我正在用Play框架开发一个web应用程序,并在AWS Elastic Beanstalk上使用一个docker容器和一个负载平衡器运行它。正常情况下,一切运行正常,但当我重建整个环境时,会出现以下错误: 命令在实例上失败。返回代码:6输出:(截断)。。。在/etc/nginx/sites enabled/elasticbeanstalk nginx docker proxy.conf:11 nginx:[emerg]主机未在/etc/nginx/sites enabled/elasticbea

我正在用Play框架开发一个web应用程序,并在AWS Elastic Beanstalk上使用一个docker容器和一个负载平衡器运行它。正常情况下,一切运行正常,但当我重建整个环境时,会出现以下错误:

命令在实例上失败。返回代码:6输出:(截断)。。。在/etc/nginx/sites enabled/elasticbeanstalk nginx docker proxy.conf:11 nginx:[emerg]主机未在/etc/nginx/sites enabled/elasticbeanstalk nginx docker proxy.conf:24 nginx:configuration file/etc/nginx/nginx.conf的上游“docker”中找到

当我登录到EC2时,我可以看到没有docker映像正在运行,因此Nginx服务器无法启动。我在日志中看不到任何其他错误(或者可能我不知道在哪里查找)。奇怪的是,同一个版本在重建环境之前运行良好

我正在使用以下Dockerfile进行部署:

FROM java
COPY <app_folder> /opt/<app_name>
WORKDIR /opt/<app_name>
CMD [ "/opt/<app_name>/bin/<app_name>", "-mem", "512", "-J-server" ]
EXPOSE 9000
来自java的

复制/选择/
WORKDIR/opt/
CMD[“/opt//bin/”、“-mem”、“512”、“-J-server”]
暴露9000

你知道问题可能是什么,或者在哪里查看更多详细信息吗?

我刚刚经历了同样的挑战(将更新的Docker映像部署到Elastic Beanstalk)。这完全取决于您想要做什么,但我发现(一旦您设置了eb cli),您就可以使用
eb deploy
命令推出代码更改,而不必担心映像

假定您仍然希望将映像推送到repo以供共享(与其他开发人员共享),或者如果出于某种原因确实需要更改环境配置。。。但如果您只是想将代码推送到
eb部署中


至于你错误的具体细节,很遗憾,我在这方面帮不了什么忙。祝你好运

我也有同样的问题
elasticbeanstalk nginx docker proxy.conf
指的是
proxy\u passhttp://docker
但缺少对其的定义。您需要添加以下内容

    # List of application servers
    upstream docker {
        server 127.0.0.1:8080;  # your app
    }
(请确保它不在
服务器
指令的范围内。)

这不是真的(可能此文件是在回答此问题后的4年内添加的)。但是您可以在
/etc/nginx/conf.d/elasticbeanstalk nginx docker-upstream.conf