2014-07-01 47 views
3

我剛剛開始與碼頭工人,這個問題可能清楚地表明,我還沒有真正理解基本概念,但我無法弄清楚。碼頭基礎圖像:如何升級

所以,我想用這個形象,我的「基地」的形象:現在https://registry.hub.docker.com/u/phusion/baseimage/

,這個基地的圖像有許多標籤(版本)。最近的一個是0.9.11。 所以,假設我會根據這個「基礎」圖像創建一些圖像,並將這些圖像推送到生產環境。

然後Phusion的人會推動一些更新到該圖像,我想升級不僅僅是實際的基礎圖像,而且還有我已經在prod上使用的所有圖像(基於「基礎」圖像)。

那麼我該怎麼做呢?

=================

額外的問題:

我假設其他情況下應該是完全有可能: 基本圖像有一些共同的lib ,例如,openssl。現在發現了一個新的錯誤,我需要升級到更新的版本openssl

是否有可能升級基礎映像上的openssl,將其提交到本地註冊表,並在基於該「基礎」映像的所有映像上進行更改?

回答

3

當您構建Dockerfile時,儘可能使用緩存從上至下讀取指令。 第一次遇到更改的命令或新命令時,高速緩存被中斷。

FROM指令通常位於Dockerfile的頂部,因此如果更改基礎映像的標記,整個Dockerfile將從頭開始重新構建。

這就是你如何「更新」一個基礎鏡像,你從他們的Dockerfiles中重建所有的容器,你不會「推」更改。

+0

非常感謝您的澄清! –