2017-02-19 118 views
2

我有一個EC2實例運行Docker引擎。我創建了一個ECS存儲庫,可以將新圖像成功推送到其他機器,並將更新後的圖像提供給其他機器。但是,當我執行docker run並嘗試從存儲庫中取出最新版本時,我實際上並沒有獲得最新版本,只是獲得了我推送的第一個版本。我猜測有些版本可以防止你在不能恢復的情況下將不好的版本推向生產。更新EC2實例上的Docker鏡像

我知道ECS中有一個名爲Tasks的概念,但AWS文檔並不是很好,所以我對它的內容並沒有很好的理解。是否需要設置一些任務來正確版本這些圖像?

回答

1

問題不在於aws。問題是使用latest標籤。

當您使用最新的標記docker run some_image:latest運行容器時,docker引擎會搜索它的本地存儲庫和latest標記。如果它在本地存儲庫中找到它,docker-engine不會打擾搜索遠程存儲庫。所以你總是最終運行docker_image的第一個版本。

因此,爲避免歧義,最佳做法是而不是運行碼頭圖像latest標記。