簡體   English   中英

使用Docker在AWS Elastic Beanstalk上部署失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM