您好,登錄后才能下訂單哦!
這篇文章主要介紹了作用通過Jenkins定期清理為None的鏡像,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、手動方式清理
比較簡便的清理方式,適合有單個none鏡像產生時手動執行命令清理鏡像,執行如下命令:
docker rmi $(docker images -f "dangling=true" -q)
由于我本地已經沒有了none的鏡像,因此執行就只能看到如下效果
二、項目生產結束后清理
在Jenkins中建立一個滿足CI的項目時,生產過程完畢結束后清理可以在構建執行腳本內設置,如:
其中的腳本為:
echo ---------------Clear-Images...------------------ clearImagesList=$(docker images -f "dangling=true" -q) if [ ! -n "$clearImagesList" ]; then echo "no images need clean up." else docker rmi $(docker images -f "dangling=true" -q) echo "clear success." fi
當項目構建完畢后,執行這個,將本身構建過程中生成的None鏡像清楚,做到自己清除自己的中間產物。
但是有一個嚴重問題會產生,當兩個或多個項目在同時構建時,先構建完畢后執行清除的腳本將會影響正在構建過程中的項目,刪除正在構建過程中所產生的none,但是刪除失敗進而引發錯誤,導致先構建的項目構建失敗,在多個項目的情況下不推薦這種方式,如果在Jenkins中只有單個任務在跑,那沒得問題。
三、定時任務清理
比較喜歡這種方式,新建一個Jenkins定時任務,比如我設置為晚上十二點清理為none的鏡像,步驟如下:
1、Jenkins中新建一個項目,名字隨意,如我的為ClearImage。
2、構建觸發器,選擇Poll SCM,設置定時時間,如我設置的是凌晨時分清理,也可設置其他時間,具體設置規則參見右邊問號。
3、執行構建腳本,腳本內容在之前已經給出,保存完畢即可,
手動執行立即構建,驗證是否有效:
查看控制臺輸出:
輸出完畢:構建有效。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“作用通過Jenkins定期清理為None的鏡像”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。