部署失败
我发展的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
指令之外。)