amazon-web-services – 使用Docker在AWS Elastic Beanstalk上部署失败

我正在使用Play框架开发一个Web应用程序,并且我使用一个docker容器和一个负载均衡器在AWS Elastic Beanstalk上运行它.通常,一切运行正常,但是当我重建整个环境时,我收到以下错误:

Command failed on instance. Return code: 6 Output: (TRUNCATED)… in /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11 nginx: [emerg] host not found in upstream “docker” in /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:24 nginx: configuration file /etc/nginx/nginx.conf test failed.

当我登录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

任何想法可能是什么问题或在哪里检查更多细节?

最佳答案
我有同样的问题. elasticbeanstalk-nginx-docker-proxy.conf指的是proxy_pass http:// docker但缺少其定义.你需要添加类似的东西

    # List of application servers
    upstream docker {
        server 127.0.0.1:8080;  # your app
    }

(确保它在服务器指令之外.)

转载注明原文:amazon-web-services – 使用Docker在AWS Elastic Beanstalk上部署失败 - 代码日志