簡體   English   中英

如何確保在AWS ECS上更新Docker鏡像?

[英]How to ensure to update Docker image on AWS ECS?

我使用Docker Hub存儲私有Docker鏡像,存儲庫有一個webhook,一旦圖像更新,它就會調用我構建的服務:

  • 更新ECS任務定義
  • 更新ECS服務
  • 取消注冊舊的ECS任務定義

該服務正在相應地運行。 運行后,ECS使用新任務定義創建新任務,使用舊任務定義停止任務,服務返回新定義。

關鍵是Docker Image未更新,一旦服務在新任務定義中啟動,它將保留舊映像。

難道我做錯了什么? 如何確保更新docker鏡像?

在分析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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM