部署失败

问题描述:

我发展的Play框架的Web应用程序,我使用的是单一的码头工人容器和负载均衡器上运行它AWS弹性魔豆。通常情况下,一切都运行良好,但是当我重建整个环境我得到以下错误:部署失败

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我可以看到没有搬运工人图像运行,因此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 

任何想法是什么问题可以或在哪里可以查询详细情况?

我刚才已经通过同样的挑战工作(部署更新泊坞窗图像弹性魔豆)。这取决于你想要做什么,但我发现的是(一旦你有eb cli设置),你可以使用eb deploy命令推出你的代码更改,而不用担心图像。

就算你仍然想要把你的图片到你的回购共享的目的(与其他开发者),或者如果你确实需要改变某些原因,环境的配置...但如果你只是希望推代码看起来为eb deploy

至于你的错误的具体可惜我不能有很大帮助那里。祝你好运!

我有同样的问题。 elasticbeanstalk-nginx-docker-proxy.conf指的是proxy_pass http://docker,但缺少该定义。你需要添加类似

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

(请确保它是server指令之外。)