我正在开发一个带有Play框架的Web应用程序,并使用一个Docker容器和一个负载平衡器在AWS Elastic Beanstalk上运行它。 通常情况下,一切运行良好,但是当我重build整个环境时,我得到以下错误:
命令在实例上失败。 返回码:6输出:(截断)…在/etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf中:11 nginx:[emerg]主机在上游找不到“docker”/ etc / nginx / sites-enabled / elasticbeanstalk -nginx-docker-proxy.conf:24 nginx:configuration文件/etc/nginx/nginx.conftesting失败。
当我login到EC2时,可以看到没有Docker镜像正在运行,因此Nginx服务器无法启动。 我在日志中看不到任何其他错误(或者我不知道在哪里看)。 奇怪的是,在重build环境之前,相同的版本正常工作。
我正在使用下面的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
elasticbeanstalk-nginx-docker-proxy.conf
但缺少定义。 你需要添加一些像
# List of application servers upstream docker { server 127.0.0.1:8080; # your app }
(确保它在server
指令之外)
我刚刚通过相同的挑战(将更新的Docker映像部署到Elastic Beanstalk)。 这取决于你想要做什么,但我发现(一旦你有eb cli设置),你可以使用eb deploy
命令推出你的代码更改,而不用担心图像。
当然,你仍然希望把你的镜像推到你的repo上(与其他开发者)共享,或者如果你真的需要改变环境配置,但是如果你只是想推代码看看进入eb deploy
至于你的错误的具体细节不幸的是我不能在那里有很大的帮助。 祝你好运!