詳解Docker Registry之刪除映象、垃圾回收
來源:https://www.jb51.net/article/111837.htm
本篇文章主要介紹了詳解Docker Registry之刪除映象、垃圾回收,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Docker倉庫在2.1版本中支援了刪除映象的API,但這個刪除操作只會刪除映象元資料,不會刪除層資料。在2.4版本中對這一問題進行了解決,增加了一個垃圾回收命令,刪除未被引用的層資料。本文對這一特性進行了體驗,具體步驟如下。
1、部署映象倉庫
(1)啟動倉庫容器
複製程式碼程式碼如下:
dockerrun -d -v /home/config.yml:/etc/docker/registry/config.yml -p 4000:5000 --nametest_registryregistry:2.4.1
這裡需要說明一點,在啟動倉庫時,需在配置檔案中的storage配置中增加delete=true配置項,允許刪除映象,本次試驗採用如下配置檔案:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
cache:
|
(2)上傳映象
1 2 3 4 5 6 |
|
(3)檢視資料進行倉庫容器中,通過du命令檢視大小,可以看到當前倉庫資料大小為61M。
1 2 3 4 |
|
2、刪除映象
刪除映象對應的API如下:
1 |
|
name:映象名稱
reference: 映象對應sha256值
(1)傳送請求,刪除剛才上傳的映象
1 2 3 4 5 6 7 |
|
(2)檢視資料大小
1 2 3 |
|
可以看到資料大小沒有變化(只刪除了元資料)
3、垃圾回收
(1)進行容器執行垃圾回收命令
命令:
1 |
|
1 2 3 4 5 |
|
(2)檢視資料大小
1 2 3 |
|
可以看到映象資料已被刪除,從61M變成了108K