2015-07-18 71 views
8

試圖更新單個容器泊塢窗應用的配置時,我得到一個神祕的錯誤。任何人都知道什麼可能會導致這種情況,或者如何去調試它?彈性魔豆泊塢窗錯誤

ERROR [3009] : Command execution failed: 
    [CMD-ConfigDeploy/ConfigDeployStage0/ConfigDeployPreHook/00run.sh] 
    command failed with error code 1: 
    /opt/elasticbeanstalk/hooks/configdeploy/pre/00run.sh 
    docker: "tag" requires 2 arguments. See 'docker tag --help'. 
    (ElasticBeanstalk::ActivityFatalError) 

回答

8

我以前見過這個,並且認爲這發生在Docker容器無法構建時。失敗的命令是運行你的容器的命令,它失敗了(IIRC),因爲它無法從以前的構建步驟中找到容器。可以嘗試的事情:

4

它第一次部署時應用程序無法成功啓動可能會發生。剛開始自己​​有這個問題。

看看/var/log/eb-activity.log服務器上......你可能會看到這樣的:

[2015-07-23T00:19:11.015Z] INFO [2624] - [CMD-Startup/StartupStage1/AppDeployEnactHook/00run.sh] : Starting activity...

[2015-07-23T00:19:17.506Z] INFO [2624] - [CMD-Startup/StartupStage1/AppDeployEnactHook/00run.sh] : Activity execution failed, because: jq: error: Cannot iterate over null aca80d7accfe4800ff04992e2f89a1e05689423d286deee31b53bf470ce89afb Docker container quit unexpectedly after launch: bleBeanFactory.java:942) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533) ... 93 more. Check snapshot logs for details. (ElasticBeanstalk::ExternalInvocationError) caused by: jq: error: Cannot iterate over null aca80d7accfe4800ff04992e2f89a1e05689423d286deee31b53bf470ce89afb Docker container quit unexpectedly after launch: bleBeanFactory.java:942) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533) ... 93 more. Check snapshot logs for details. (Executor::NonZeroExitStatus)

[2015-07-23T00:19:17.506Z] INFO [2624] - [CMD-Startup/StartupStage1/AppDeployEnactHook/00run.sh] : Activity failed.

[2015-07-23T00:19:17.507Z] INFO [2624] - [CMD-Startup/StartupStage1/AppDeployEnactHook] : Activity failed.

[2015-07-23T00:19:17.507Z] INFO [2624] - [CMD-Startup/StartupStage1] : Activity failed.

[2015-07-23T00:19:17.507Z] INFO [2624] - [CMD-Startup] : Completed activity. Result: Command CMD-Startup(stage 1) failed.

接下來,看看在/ var /日誌/ EB-泊塢窗/ containers/eb-current-app如果您看到unexpected-quit.log,那麼它應該包含您的應用程序在嘗試啓動時嘗試失敗的錯誤。

不幸的是,在我的情況下,它無法啓動,因爲環境變量缺失。但是,AWS阻止我在beanstalk處於此狀態時更新配置。我在創建環境時無法指定環境變量。所以我不確定我會怎樣解決這個問題。

+1

簡單的編輯關聯到你的環境中你的自動縮放組,並設置實例的所需數量爲0(同爲最小值)。等到你的實例被銷燬。當你的Beanstalk環境沒有實例時,更新你的環境變量。等待更新完成。將您的自動縮放組更換回來。 TADAAAAA,你解決你的問題:) – kiddouk

+2

我有相同的問題,因爲香的。 @kiddouk您的解決方案不是爲我工作,EB抱怨值必須> = 1。 – syg

+1

@Shannon看到我下面 – syg

4

我有相同的問題,因爲@香的。我的解決方法是

  • 第一,部署一個樣本Dockerfile,保證工作,
  • 然後設置所有的環境變量我真正的泊塢窗的應用程序需要,
  • 終於重新部署真正泊塢窗應用。

樣品從AWS documentation Dockerfile複製粘貼:

FROM ubuntu:12.04 

RUN apt-get update 
RUN apt-get install -y nginx zip curl 

RUN echo "daemon off;" >> /etc/nginx/nginx.conf 
RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master 
RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* . && rm -rf 2048-master master.zip 

EXPOSE 80 

CMD ["/usr/sbin/nginx", "-c", "/etc/nginx/nginx.conf"] 
+0

解決方法這是做我想......沒有劇本最徹底的方法,只是一個黑客位的讓項目脫離實際並設置env變量。 +1 – bonez

+1

令人失望AWS需要什麼,我想象是一個常見的場景是這樣一個黑客。您應該能夠建立在Web UI環境時設置環境瓦爾。同時感謝您提供有用的解決方案。 –

1

可以提供在EB在命令行環境變量創建EB克隆命令。這些設置之前創建或克隆任務,使環境將拿出他們設置。

見EB CLI幫助。例如...

$ eb create -h ... --envvars ENVVARS a comma-separated list of environment variables as key=value pairs ...