4

我發展的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 

任何想法是什麼問題可以或在哪裏可以查詢詳細情況?

回答

-1

我剛纔已經通過同樣的挑戰工作(部署更新泊塢窗圖像彈性魔豆)。這取決於你想要做什麼,但我發現的是(一旦你有eb cli設置),你可以使用eb deploy命令推出你的代碼更改,而不用擔心圖像。

就算你仍然想要把你的圖片到你的回購共享的目的(與其他開發者),或者如果你確實需要改變某些原因,環境的配置...但如果你只是希望推代碼看起來爲eb deploy

至於你的錯誤的具體可惜我不能有很大幫助那裏。祝你好運!

1

我有同樣的問題。 elasticbeanstalk-nginx-docker-proxy.conf指的是proxy_pass http://docker,但缺少該定義。你需要添加類似

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

(請確保它是server指令之外。)