[英]Deployment on AWS Elastic Beanstalk with Docker fails
我正在使用Play框架開發一個Web應用程序,並且我使用一個docker容器和一個負載均衡器在AWS Elastic Beanstalk上運行它。 通常,一切運行正常,但是當我重建整個環境時,我收到以下錯誤:
命令在實例上失敗。 返回碼:6輸出:(TRUNCATED)...在/etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf:11 nginx:[emerg]主機在/ etc /中的上游“docker”中找不到nginx / sites-enabled / elasticbeanstalk -nginx-docker-proxy.conf:24 nginx:配置文件/etc/nginx/nginx.conf測試失敗。
當我登錄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
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
命令推出代碼更改而不用擔心圖像。
當然,你仍然希望將你的圖像推送到你的倉庫以便與其他開發人員共享(或者與其他開發人員一起),或者如果你真的需要因為某種原因需要更改環境配置......但是如果你只是想推送代碼看看進入eb deploy
至於你的錯誤的具體細節不幸的是我在那里沒有多大幫助。 祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.