0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

盤點匯總Docker磁盤環(huán)境的清理方法

如意 ? 來源:服務(wù)端思維 ? 作者:張健欣編譯 ? 2021-04-05 17:23 ? 次閱讀

如果你使用 docker 進行大規(guī)模開發(fā),但是沒有清理策略,那么你的磁盤馬上就會被填滿,當(dāng)你真的必須因為產(chǎn)品火爆而要立即交付一些東西時,你就無法交付。

當(dāng)我們在計算機中運行一個進程時,一旦這個進程完成,所有東西都會隨之銷毀。容器是我們現(xiàn)在很多人操作的基礎(chǔ)設(shè)施。一切東西都運行在一個容器上,旨在每個容器有一個進程。當(dāng)進程完成,容器就退出。但它不會自行清理。

Docker 積累的東西

你需要注意這些

已經(jīng)停止的容器

磁盤卷

鏡像

網(wǎng)絡(luò)

如果有足夠的空間,你可能不太關(guān)心磁盤空間,但是網(wǎng)絡(luò)也很重要。默認地,Docker 使用 bridge 網(wǎng)絡(luò),它的極限是 31 個網(wǎng)絡(luò)。當(dāng)達到極限時,你會看到下面這條消息:

could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

如果你是一個為每個項目創(chuàng)建一個網(wǎng)絡(luò)的 docker-compose 重度用戶,就會發(fā)生這種情況。你可以通過設(shè)置一個自定義--subnet子網(wǎng)來解決問題,例如:

docker network create dada --subnet 192.167.11.0/24

但無論如何,本文的重點是清理。

使用 docker 清理

清理已經(jīng)停止的容器

docker rm -v $(docker ps --all --quiet --filter ‘status=exited’)

這會找到所有處于已退出(exited)狀態(tài)的容器,一行一個地輸出它們的 ID,以便我們可以將它提供給其它 shell 指令。

我們使用docker rm -v來刪除任何匿名卷(沒有顯式名稱的卷)。

清理磁盤卷

上面的命令應(yīng)該刪除與該容器關(guān)聯(lián)的卷。如果你手動創(chuàng)建卷,并要刪除任何未被使用的卷:

docker volume rm $(docker volume ls --quiet --filter ‘dangling=true’)

清理鏡像

通常刪除所有 Docker 鏡像是安全的。我們可以在需要的時候按需獲取。通常在一個鏡像被清理后,構(gòu)建時間會更長,因為 docker 守護進程需要花時間再次下載鏡像

docker rm --force $(docker images --quiet)

這里,我們使用了--force來強制刪除鏡像,即使一個容器正在使用那個鏡像。我們可以以后再獲取這個鏡像。

清理網(wǎng)絡(luò)

這很簡單。我們可以刪除任何網(wǎng)絡(luò),它會在之后按需重建。

docker network rm $(docker network ls --quiet)

使用 docker-compose 清理

如果你使用 docker-compose 啟動容器,我們有一種簡單的方法來清理與特定 compose 文件關(guān)聯(lián)的資源。

docker-compose down --volumes --rmi all --remove-orphans

不幸的是,這個命令不會刪除匿名卷,因此你必須處理這些匿名卷。

一條命令解決所有問題

docker 是短暫的,我們總是可以重新獲取鏡像,為了開發(fā)重新創(chuàng)建我們的數(shù)據(jù)庫,或者這只是一個持續(xù)集成系統(tǒng),我們可以刪除一切。

docker system prune --all --force --volumes
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    355

    瀏覽量

    25089
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    21986
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    446

    瀏覽量

    11738
收藏 人收藏

    評論

    相關(guān)推薦

    清理Docker鏡像倉庫時遇到的坑點

    Docker鏡像倉庫PC蛋蛋搭建清理的探索之路
    發(fā)表于 04-29 17:13

    docker中java環(huán)境的部署

    docker 部署java環(huán)境以及常用應(yīng)用(持續(xù)更新)
    發(fā)表于 05-24 15:44

    如何清理邏輯磁盤?

    清理邏輯磁盤方法
    發(fā)表于 11-05 07:56

    如何在Mac上清理磁盤空間?這些方法你用過了嗎

    Mac電腦設(shè)備使用久了,可能會保存特別多的無用文件,那么Mac磁盤空間將會面臨不夠用的情況。那么該如何在Mac上清理磁盤空間?如何在Mac上清理磁盤
    發(fā)表于 09-09 21:05

    Docker占用資源過高,如何快速清理Docker

    如果經(jīng)常使用 docker,你會發(fā)現(xiàn) docker 占用的資源膨脹很快,其中最明顯也最容易被察覺的應(yīng)該是對磁盤空間的占用。
    的頭像 發(fā)表于 07-06 10:05 ?9030次閱讀

    linux磁盤滿的清理方法

    Linux查看磁盤用量
    發(fā)表于 06-09 08:53 ?8665次閱讀
    linux<b class='flag-5'>磁盤</b>滿的<b class='flag-5'>清理</b><b class='flag-5'>方法</b>

    linux的磁盤如何清理

    Linux查看磁盤用量
    發(fā)表于 06-10 09:18 ?2521次閱讀
    linux的<b class='flag-5'>磁盤</b>如何<b class='flag-5'>清理</b>

    應(yīng)用于Docker的安全工具介紹

    網(wǎng)絡(luò)安全的重要性是毋庸置疑的,無數(shù)有關(guān)惡意軟件和安全漏洞之類的新聞也不斷證實此論斷。如果你正在管理Docker環(huán)境,并且希望避免可能存在的重大漏洞,那么你需要知道一些必要的工具來保護你的Docker
    的頭像 發(fā)表于 03-12 14:05 ?1666次閱讀

    使用docker完成編譯環(huán)境創(chuàng)建

    作者環(huán)境:主機MacBook Pro 2015(16G),Docker Desktop for Mac(官方)
    的頭像 發(fā)表于 04-21 07:49 ?3114次閱讀

    docker-cleanup Docker清理腳本

    docker-cleanup.zip
    發(fā)表于 04-29 10:03 ?0次下載
    <b class='flag-5'>docker</b>-cleanup <b class='flag-5'>Docker</b><b class='flag-5'>清理</b>腳本

    三步教你清理NAS上無用docker文件

    今天登錄ssh后查看文件發(fā)現(xiàn)其中一個文件夾占用很大,已經(jīng)到了60%,于是乎我這邊查詢了一下發(fā)現(xiàn)全是docker殘留文件與日志。每次測試docker容器后雖然會進行卸載,但是中間產(chǎn)生的日志和空文件夾系統(tǒng)并不會幫你進行清理,于是乎就
    的頭像 發(fā)表于 02-24 11:29 ?1652次閱讀
    三步教你<b class='flag-5'>清理</b>NAS上無用<b class='flag-5'>docker</b>文件

    docker進入容器的方法有哪些

    Docker是一種流行的容器化平臺,它能夠快速構(gòu)建、交付和運行應(yīng)用程序。在使用Docker時,我們經(jīng)常需要進入容器進行調(diào)試、管理和運行命令等操作。本文將詳細介紹Docker進入容器的各種方法
    的頭像 發(fā)表于 11-23 09:45 ?8900次閱讀

    linux傳輸一半磁盤滿了怎么清理

    在使用Linux操作系統(tǒng)時,磁盤空間不足是一個常見的問題。當(dāng)磁盤空間超過一半被使用時,可能會導(dǎo)致系統(tǒng)性能下降、應(yīng)用程序無法正常運行甚至系統(tǒng)崩潰等問題。因此,及時清理磁盤空間至關(guān)重要。本
    的頭像 發(fā)表于 11-23 10:34 ?441次閱讀

    Kondo-為開發(fā)者設(shè)計的磁盤清理工具

    kondo 是一款為開發(fā)者設(shè)計的磁盤清理工具,支持清理 16 種語言和工具鏈中的構(gòu)建相關(guān)產(chǎn)物。
    的頭像 發(fā)表于 12-09 17:26 ?499次閱讀
    Kondo-為開發(fā)者設(shè)計的<b class='flag-5'>磁盤清理</b>工具

    關(guān)于Docker清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下 復(fù)制代碼代碼如下: docker kill $(docker ps -a -q) ?刪除所有已經(jīng)停止的容器 復(fù)制代碼
    的頭像 發(fā)表于 06-13 15:56 ?203次閱讀