濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何完全清理你的Docker數(shù)據(jù)

如何完全清理你的Docker數(shù)據(jù)

熱門標(biāo)簽:撫順移動400電話申請 做外呼系統(tǒng)的公司違法嗎 藍(lán)點外呼系統(tǒng) 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 400電話申請方案 烏海智能電話機器人 在百度地圖標(biāo)注車輛 貴陽教育行業(yè)電話外呼系統(tǒng) 威海人工外呼系統(tǒng)供應(yīng)商

Docker 不會對你的系統(tǒng)進(jìn)行任何配置更改……但是它會占用大量的磁盤空間。(使用 Docker)不一會兒,當(dāng)你輸入如下命令時,就會返回一些可怕的使用情況統(tǒng)計信息:

docker system df

幸運的是,Docker 允許您從未使用的鏡像、容器以及卷中回收磁盤空間。

定期修剪(prune)

為了安全地刪除已停止的容器,未使用的網(wǎng)絡(luò)和懸掛的圖像,最好每隔一段時間運行以下命令:

docker system prune

更具風(fēng)險的選擇是:

docker system prune -a

這也將抹除任何與正在運行的容器無關(guān)的鏡像。這可能有一點極端,但是 Docker 還是會重新下載其所需的鏡像的。第一次下載會稍慢一些,但隨后會將鏡像緩存起來以備將來使用。

以下各節(jié)介紹了刪除特定項目的其他方法。

鏡像驅(qū)逐

Docker 鏡像是應(yīng)用程序(例如Web服務(wù),語言運行時或者數(shù)據(jù)管理系統(tǒng))的磁盤快照。您可以通過輸入以下內(nèi)容來查看所有的鏡像,不管是運行中的還是懸空的(與容器無關(guān)的鏡像):

docker image ls -a

一個 Docker 鏡像可以通過輸入以下命令刪除:

docker image rm <name_or_id>

可以將任意數(shù)量的鏡像添加到此命令——用空格字符分隔它們。

容器清理

Docker 容器是鏡像運行的實例,并且可以從同一容器中啟動任意數(shù)量的容器。容器通常很小,因為它們是無狀態(tài)的,并且引用了鏡像的文件系統(tǒng)。通過輸入以下命令查看所有正在運行和已停止的容器:

docker container ls -a

一旦一個容器停止了,你便可以刪除它。停止容器的命令如下:

docker container stop <name_or_id>

刪除容器的命令如下:

docker container rm <name_or_id>

同樣,可以在此命令中添加任意數(shù)量的以空格分隔的容器名稱或者 ID。

幾乎沒有必要保留已停止的容器。 可以將 --rm 選項添加到 docker run 命令中,以在容器終止后自動刪除該容器。

網(wǎng)路整理

容器可以連接到 Docker 管理的網(wǎng)絡(luò),因此它們才可以相互通信。這些是不會占用太多磁盤空間的配置文件。通過輸入以下內(nèi)容查看所有 Docker 網(wǎng)絡(luò):

docker network ls

輸入下面的命令可以刪除一個或多個無用的網(wǎng)絡(luò):

docker network rm <name_or_id>

同樣,可以在此命令中添加任意數(shù)量的以空格分隔的網(wǎng)絡(luò)名稱或者 ID。

卷的蒸發(fā)

Docker 卷是虛擬磁盤映像。 必須將其附加到正在運行的容器,以便它可以在兩次重新啟動之間保存文件或其他狀態(tài)信息。 卷的大小取決于使用它的應(yīng)用程序,但是典型的數(shù)據(jù)庫即使在大多數(shù)情況下都是空的,也需要數(shù)百兆的空間。

通過以下命令便可查看所有 Docker 管理的磁盤卷:

docker volume ls

移除一個 Docker 卷將會永遠(yuǎn)抹除其數(shù)據(jù)!沒有回頭路!

如果您要開發(fā)數(shù)據(jù)庫驅(qū)動的應(yīng)用程序,通??梢员A粢粋€或多個數(shù)據(jù)轉(zhuǎn)儲,這些數(shù)據(jù)轉(zhuǎn)儲可用于重新創(chuàng)建一組特定的記錄。大多數(shù)數(shù)據(jù)庫客戶端工具都提供轉(zhuǎn)儲功能,比如 Adminer 中的 Export 鏈接。

大多數(shù)數(shù)據(jù)庫系統(tǒng)將提供備份工具,例如 MySQL 中的 mysqldump 實用程序。 可以使用 docker exec 命令在正在運行的容器上執(zhí)行這些操作。

以下 Linux / macOS 命令將在名為 mysql 的容器上運行的名為 mydb 的 MySQL 數(shù)據(jù)庫備份到名為 backup.sql 的文件中。 使用密碼為 mysecret 的 MySQL root 用戶:

docker exec mysql /usr/bin/mysqldump -u root -pmysecret mydb \  > backup.sql

Windows PowerShell 的等效命令:

docker exec mysql /usr/bin/mysqldump -u root -pmysecret -r mydb | \  Set-Content backup.sql

您還可以使用 docker cp 命令將數(shù)據(jù)文件復(fù)制到正在運行的容器或從正在運行的容器復(fù)制數(shù)據(jù)文件。 這是通過源路徑和目標(biāo)路徑傳遞的,容器由其 名稱/ ID 區(qū)分,后跟冒號及其路徑,例如,

docker cp mycontainer:/some/file ./host/directory

假設(shè)您的數(shù)據(jù)是安全的,則可以通過輸入以下內(nèi)容來刪除任何未使用的卷:

docker volume rm <name>

可以使用以下方法刪除所有未使用的Docker卷——當(dāng)前未連接到正在運行的容器的那些卷:

docker volume prune

或者,docker volume prune -a 將全部卷刪除。 畢竟你已經(jīng)備份了,不是嗎?

完全干凈的開始

可以使用單個命令清除掉每個未使用的容器,鏡像,卷和網(wǎng)絡(luò):

docker system prune -a --volumes

如果要在沒有確認(rèn)提示的情況下強制清理,可以添加 -f 。 您的系統(tǒng)將恢復(fù)到?jīng)]有任何 Docker 數(shù)據(jù)的原始狀態(tài)。

到此這篇關(guān)于如何完全清理你的Docker數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Docker清理數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:蕪湖 周口 銅川 慶陽 朝陽 松原 泰州 那曲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何完全清理你的Docker數(shù)據(jù)》,本文關(guān)鍵詞  如何,完全,清理,你的,Docker,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何完全清理你的Docker數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何完全清理你的Docker數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    怀远县| 长寿区| 岢岚县| 吐鲁番市| 新竹市| 开阳县| 秦皇岛市| 金坛市| 阿巴嘎旗| 衡山县| 宜宾市| 石景山区| 望都县| 会东县| 炉霍县| 特克斯县| 饶阳县| 绥德县| 闻喜县| 林州市| 武义县| 盐城市| 常山县| 曲松县| 周口市| 遂宁市| 文山县| 鄂尔多斯市| 唐山市| 自治县| 宾阳县| 迁安市| 常州市| 延庆县| 徐州市| 丹凤县| 石景山区| 香格里拉县| 卓资县| 尉氏县| 岑溪市|