1. 程式人生 > >Docker 容器與映象清理彙總

Docker 容器與映象清理彙總

說明

由於我們使用Docker Swarm特性與Jenkins進行自動化部署升級服務,隨著不斷的升級會產生大量的未清理的老版本映象常駐在本地磁碟之中,而這些映象其實都已經沒什麼作用了,所以需要對其進行清理,所以本篇主要記錄一些清理的方式,以便查閱。

清理方式

官方其實給出了一個類似“一鍵清除”的方案,只需要一行命令既可以對所有未使用的容器與捲進行清理,但我發現此命令還是會存在某些缺陷,比如依然會有一些映象無法徹底清理,我個人建議還是手動處理較好。

官方做法 (不太推薦)

以下命令會強制執行清理操作,如果需要檢視Docker耗費磁碟的資訊,請使用 docker system df 進行檢視。

docker system prune -f
  • 1

手動做法(推薦做法)

清理映象

手動清理映象的操作我主要用到了一些格式化從操作,如:指定映象某個之前的TAG,然後再通過獨立過濾某個映象,等;更多格式化操作參考文件:點選這裡

docker rmi \
$( \
docker images \
-f before='nh/backend-uat:91' \
-f reference="nh/backend-uat" \
-q \
) \
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

清理映象(使用TAG名稱)

docker rmi \
$( \
docker images \
-f before='nh/backend-uat:91' \
-f reference="nh/backend-uat"
\
| awk '/?*backend-uat*/{print $1 ":" $2}' \ ) \
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

引數

  • before - 指定哪個TAG之前的所有映象
  • reference - 過濾某個標識的映象

清理退出的容器

docker rm $(docker ps -q -f status=exited)
  • 1

status取值範圍

  • status=running
  • status=exited

定時任務結合

手動方案操作可以結合定時任務進行定製化按需求清理,編寫 crontab 指令碼進行清理的工作就好了。

參考資料

相關推薦

Docker 容器映象清理彙總

說明 由於我們使用Docker Swarm特性與Jenkins進行自動化部署升級服務,隨著不斷的升級會產生大量的未清理的老版本映象常駐在本地磁碟之中,而這些映象其實都已經沒什麼作用了,所以需要對其進行清理,所以本篇主要記錄一些清理的方式,以便查閱。 清理方式 官

Docker容器映象的關係及安裝

一、什麼是Docker映象? 映象是構建 Docker 的基石。使用者基於映象來執行自己的容器。映象也是 Docker 生命周 期中的“構建”部分。也可以將映象當作容器的“原始碼”。映象體積很小,非常“便攜”,易於分享、儲存和更新。 二、什麼是Docker容器? 容器是基於映象

Docker刪除容器映象

1.停止所有的container,這樣才能夠刪除其中的images: docker stop $(docker ps -a -q) 1 如果想要刪除所有container的話再加一個指令: docker rm $(docker ps -a -q) 1 2.檢視當前有些

Docker 技巧之刪除Docker容器映象

公司業務在生產環境100多臺伺服器上用了docker,已經有大半年了,可是最近發現,每個伺服器上的各種映象好多好亂,就想批量刪除映象,需要的來看一下把。 刪除所有未執行 Docker 容器 docker rm $(docker ps -a -q) 刪除所有 Docker 映象 刪除所

docker 原理 docker容器映象區別

docker容器和映象區別   這篇文章希望能夠幫助讀者深入理解Docker的命令,還有容器(container)和映象(image)之間的區別,並深入探討容器和執行中的容器之間的區別。  當我對Docker技術還是一知半解的時候,我發現

docker容器大資料元件的衝突點

1.容器裡面安裝spark,外面的程式(安裝spark主機的容器)會連線不上叢集。理由:這個元件用的akka,連線上叢集,會提示: akka.ErrorMonitor: dropping message [class akka.actor.ActorSelectionMessage] for non-loc

CentOS下Docker安裝映象使用

Docker安裝 CentOS7系統的CentOS-Extras庫中已經帶了Docker,可以直接使用yum命令安裝 yum install docker 安裝之後啟動Docker服務,並讓他隨系統啟動自動載入 systemctl st

docker容器日誌收集方案彙總評價總結

docker日誌收集方案有太多,下面截圖羅列docker官方給的日誌收集方案(詳細請轉docker官方文件)。很多方案都不適合我們下面的系列文章沒有說。     經過以下5篇部落格的敘述簡單說下docker容器日誌採集方案 docker容器日誌收集方案(方案一 filebeat

DOCKER容器宿主機同網段互相通訊

相關閱讀: 博主最近在解決docker與宿主機同網段通訊的問題,寫此文章記錄一下整個過程。 遇到的問題 博主用兩臺docker容器做datanode,當時配置Docker網路時,使用了Bridge模式,docker0網段(172.

docker容器日誌管理(清理)

前言 在使用docker容器時候,其日誌的管理是我們不得不考慮的事情。因為docker容器的日誌檔案會佔據大量的磁碟空間。下面介紹的就是對docker容器日誌的管理。 docker容器日誌清理 docker容器的日誌一般存放在/var/lib/dock

Docker容器映象和檔案的轉化關係

容器轉成映象: sudo docker commit <CONTAINER ID> imagename 容器轉成檔案: sudo docker export <C

使用docker容器定製映象(image)並部署簡單 web應用

概念簡述 映象 一個特殊的檔案系統,除了提供容器執行時所需的程式、庫、資源、配置等檔案外,還包含了一些為執行時準備的一些配置引數。 Docker映象是一個只讀的模板。比如一個映象可以包含Ubuntu系統以及安裝在Ubuntu上的Apache We

docker 容器映象的匯出匯入及遷移

(1)容器的匯出匯入及遷移:(把容器匯出為檔案)匯出 docker export [--help] [-o|--output[=""]] CONTAINER # docker export angry_bell > angry_bell.tar # docker exp

Docker容器映象儲存機制—images—目錄樹結構

http://ju.outofmemory.cn/entry/114344 Docker的儲存機制採用了非常靈活的模組化設計,目前支援5種儲存引擎,分別為aufs、btrfs、device mapper、vfs和overlay。它們的共同特點都是實現了graphdriver.

Docker 容器建立映象並提交到Docker hub

() 從映象建立自己的容器: 1.下載映象:執行docker pull java命令下載好java映象 2.建立容器:執行docker run -dit –name=java_test -v /root:/root java

啟動或刪除Docker容器映象

基礎命令 1.檢視正在執行的容器 docker ps 2.檢視所有容器, -a檢視所有容器, -l檢視最新建立的容器, -n=x,檢視最後建立的x個容器 docker ps -a 3

Docker容器kali映象匯出/匯入

每個docker容器裡是一個系統(image)或應用。 apt-get install之後儲存映象操作. 1.commit新映象 # docker commit contain_id kali_1.0

如何遷移docker容器映象的預設路徑

參考連結: 主要步驟: 1、建立docker配置檔案。 2、拷貝原來的目錄/var/lib/docker 3、建立docker-proxy和docker-runc的連結檔案  ln -s /usr/libexec/docker/docker-proxy-cu

加強Docker容器Java 10整合

很多執行在Java虛擬機器(JVM)中的應用,包括資料服務如Apache Spark和Kafka以及傳統企業應用,都執行在容器中。最近,執行在容器裡的JVM出現了由於記憶體和CPU資源限制和使用率導致效能損失問題。這是因為Java意識不到自己執行在容器中。隨著Java 10的

docker 容器建立映象

如果建立映象出現以上情況重啟下docker就可以了 systemctl restart docker   docker build -t redis  . 如果建立映象出現以下問題不需要管,因為只是下載的包有問題而已  最後執行檢視映象命令 do