awk 小技能

背景:

今天發現服務器的磁盤佔用比較多 , 經過查看後確定是無用 docker 鏡像太多造成的 , 所以需要手動刪除 , 因爲我們的項目自動化流程是用 jenkins 操作的 , 但是在生成鏡像的時候沒有加入刪除舊鏡像的操作 , 所以會留下這種後遺症 。

具體操作:

[devops@iZ8vbcrus31oj4bqvu77Z ~]# docker images
REPOSITORY                                                                          TAG                          IMAGE ID            CREATED             SIZE
test/bigdata-service/center-test          staging                      1cb06d95a8b4        4 days ago          718MB
test/bigdata-service/center-test          <none>                       57702530984d        4 days ago          718MB
test/bigdata-service/permission-center          <none>                       82c495713d2f        4 days ago          718MB
test/bigdata-service/data-service-portal-web    staging                      50b5163e2e02        4 days ago          141MB
test/bigdata-service/data-service-portal-web    <none>                       663ba4a2eacb        5 days ago          141MB
test/bigdata-service/permission-center          <none>                       4e21cf82ed37        5 days ago          718MB

# 需要過濾出<none> tag 的鏡像
[devops@iZ8vbcrus31oj4bqvu77Z ~]# docker images |awk '{if($2~/<none>/)print $1,$2}' OFS=":"
test/bigdata-service/center-test:<none>
test/bigdata-service/permission-center:<none>
test/bigdata-service/label-management-service:<none>
[devops@iZ8vbcrus31oj4bqvu77Z ~]# docker images |awk '{if($2~/<none>/)print $3}'|xargs docker rmi

本人通過 docker images |awk '{if($2~/<none>/)print $1,$2}' OFS=":" 格式化後 使用 docker rmi 刪除是不行的 , 百度一番後說是命令行不支持<>特殊字符 , 所以使用ID進行刪除 , 如有好辦法 , 請大家留言指點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章