5

Docker Hub を使用してプライベート Docker イメージを保存します。リポジトリには Webhook があり、イメージが更新されると、ビルドしたサービスを呼び出します。

  • ECS タスク定義を更新する
  • ECS サービスを更新する
  • 古い ECS タスク定義を登録解除します

それに応じてサービスが実行されます。実行後、ECS は新しいタスク定義で新しいタスクを作成し、古いタスク定義でタスクを停止し、サービスは新しい定義で戻ります。

ポイントは、Docker イメージが更新されないことです。サービスが新しいタスク定義で開始されると、古いイメージのままになります。

私は何か間違ったことをしていますか?Docker イメージが確実に更新されるようにするにはどうすればよいですか?

4

1 に答える 1

5

AWS ECS ログを分析した結果、問題は ECS Docker 認証にあることがわかりました。

それを解決するために、次のデータをファイル /etc/ecs/ecs.config に追加しました

ECS_CLUSTER=default
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"YOUR_DOCKER_HUB_AUTH","email":"YOUR_DOCKER_HUB_EMAIL"}}

YOUR_DOCKER_HUB_AUTHYOUR_DOCKER_HUB_EMAILを独自の情報に置き換えるだけで、正しく機能します。

この情報を見つけるdocker loginには、自分のコンピューターで実行し、ファイル ~/.docker/config.json でデータを探します。

プライベート レジストリ認証のトピックの詳細については、http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html をご覧ください

于 2016-01-30T20:57:31.430 に答える