2015-12-12 11 views
7

公開リポジトリでホストされているドッカー画像にnode.jsアプリケーションがパッケージ化されています。AWS Beanstalkドッカー画像の自動更新が機能しません

私はそのイメージをAWS Beanstalkドッカーアプリケーションに正常にデプロイしました。 問題は、次の設定がsugggestsとして公開リポジトリのイメージを更新するときにBeanstalkアプリケーションが自動的に更新されることを期待していたことです。

Dockerrun.aws.json:

{ 
    "AWSEBDockerrunVersion": "1", 
    "Image": { 
    "Name": "peveuve/dynamio-payment-service", 
    "Update": "true" 
    }, 
    "Ports": [ 
    { 
     "ContainerPort": "8000" 
    } 
    ], 
    "Logging": "/var/log/dynamio" 
} 

Dockerfileは非常に簡単です:

FROM node:4.2.1-onbuild 
# Environment variables 
ENV NODE_ENV test 
ENV PORT 8000 
# expose application port outside 
EXPOSE $PORT 

Amazonの文書は、その上かなり明確である:

必要に応じて更新キーを含めます。デフォルト値は "true"で、 はElastic Beanstalkにリポジトリのチェックを指示し、更新を にプルし、キャッシュされたイメージを上書きします。

しかし、Dockerrun.aws.jsonの新しいバージョンをアップロードすることでBeanstalkアプリケーションを手動で更新する必要があります。私は何か見落としてますか?それはそのように動作するはずですか?

答えて

3

ドキュメントはより明確にする必要があります。彼らが言っているのは、update = trueです。

docker runを実行する前に、EBSはdocker pullを実行します。ドッカーハブを継続的にポーリングすることはありません。

対照的に、最初にdocker pullを実行しないでdocker runを発行すると、そのマシンのローカルに保存されたバージョンが常に最新のものであるとは限りません。

希望する内容を達成するには、制御するアプリケーションを呼び出してELBアプリを再構築するwebhook on Docker Hubを設定する必要があります。

+0

私はあなたが基本的権利だと思います。私は再起動が十分であると確信していません、再構築が必要です。それは私がしなければならなかったことであり、他の人は彼のブログで同じことを言った。もしあなたが同意すればあなたのアンワースをアップし、私はそれを受け入れます。 – peveuve

+0

良いキャッチ!私は答えを更新しました –

+2

更新:実際には、あなたのアプリを再構築しないでください、それは非常に長い時間がかかります。同じDockerrun.aws.jsonをアップロードしてバージョン番号を増やす方がはるかに優れています。 – peveuve

3

あなたは更新をトリガするためにAWSコマンドラインツールを使用することができます。

aws elasticbeanstalk update-environment --application-name [your_app_name] --environment-name [your_environment_name] --version-label [your_version_label] 

あなたはDockerrun.aws.jsonファイル、新しいバージョンがアプリケーションに追加されることはありませんそのように含まれているバージョンを指定します。この場合、Dockerrunファイルはアプリケーションの「ソース」として機能しますが、dockerイメージを取得するようにawsに指示するだけなので、Elastic Beanstalkでアプリケーションの新しいバージョンを作成すると冗長になります(タグ付きドッカーイメージDockerrunファイル内)

リンク:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html http://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateEnvironment.htm

関連する問題