泊塢窗圖像是最小的,只包括運行該基本圖像的絕對必需品。對於Debian基本映像,這意味着沒有軟件包回購緩存。因此,當您運行apt-get update
時,它將首次從所有回購站下載軟件包回購緩存。如果他們包含了軟件包回購緩存,那麼將會有很多包狀態的兆字節會很快過時,從而導致基礎映像更大,而稍後進行更新的時候幾乎不會減少。
實際的debian:最新的圖像與上個月的提交相比,維護得相當好。你可以在這裏查看它的各種標籤:https://hub.docker.com/_/debian/
爲了縮短你的圖片編譯時間,我建議你不要每次都刪除你的圖片。相反,請執行新構建和標記,一旦構建新圖像,就可以運行docker image prune --force
以從先前的構建中刪除未標記的圖像。這使得docker可以重用先前映像構建中的緩存。
或者,您可以創建自己的基礎映像,以便更新頻率更低,並且具有所有應用程序先決條件。像其他圖像一樣構建它,然後將FROM debian:latest
更改爲FROM your_base_image
。
最後一個技巧,避免在您的圖像構建中使用latest
,而不是使用FROM debian:9
之類的東西,以便debian中的主要版本更新不會破壞構建。
你在做什麼,防止它緩存該行? – BMitch
我每次都刪除圖像。但爲什麼它不是新鮮的,幷包含所有最新的軟件包更新?我說'debian:latest',但是它已經過了幾個月了=( –
apt-get update'不會更新任何軟件包,它只是從APT倉庫中提取當前的軟件包列表。 「永遠」? – jwodder