SpringブートアプリケーションのDockerイメージをAWS Elastic Beanstalkにデプロイしようとしていますが、/var/log/eb-activity.logにこのエラーがあります:jarfileにアクセスできない - Elastic BeanstalkのDocker
Docker container quit unexpectedly after launch: Docker container quit unexpectedly on Wed Jun 22 11:56:25 UTC 2016:
Error: Unable to access jarfile /home/packedit/app/packed-it.jar. Check snapshot logs for details. (Executor::NonZeroExitStatus)
これは以下Dockerrun.aws.jsonを有する弾性豆の木に単一の容器である:
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "packedit/packedit-api",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8080"
}
],
"Volumes": [
{
"HostDirectory": "/var/app/packedit",
"ContainerDirectory": "/home/packedit/app"
}
],
"Logging": "/home/packedit/app/logs"
}
これはDockerfileある:
FROM java:8
MAINTAINER [email protected]
VOLUME /tmp
EXPOSE 8080
ENV USER_NAME packedit
ENV APP_HOME /home/$USER_NAME/app
ENV APP_FILENAME packed-it.jar
RUN useradd -ms /bin/bash $USER_NAME
RUN mkdir -p $APP_HOME/data
ADD $APP_FILENAME $APP_HOME/$APP_FILENAME
RUN chown -R $USER_NAME $APP_HOME/
USER $USER_NAME
WORKDIR $APP_HOME
RUN bash -c 'touch $APP_FILENAME'
# Can't use $APP_FILENAME here because ENTRYPOINT does not do ENV replacement
# See: http://stackoverflow.com/a/28854410/336752
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","packed-it.jar"]
ECSを使用してDockerイメージをEC2インスタンスに正常にデプロイしましたが、私はElastic Beanstalkで成功しませんでした。私の推測では、ボリュームについて何か間違っていますが、私はdocumentationを理解するのに苦労しています。私はもともとはマルチコンテナの設定から始めましたが、私の問題を解決するために単純化しました。
ありがとうございました。
!本当にありがとう、それは本当に犯人だった。実際、 'volumes'プロパティ全体を削除しました。今、マルチコンテナを今すぐ設定することができます... – Stu