Docker 1.13最實用命令列:終於可以愉快地打掃房間了
>Docker 1.13 出來已經有一段時間了,新版本新增了許多有用的命令,本文作者從處女座的潔癖(此處有霧)出發,告訴大家一些整理環境的小技巧。打掃房間再也不需費時又費力了,簡單的命令,就可以輕鬆地把物品分門別類(容器、映象、網路、儲存卷……)地整理好^_^
在 1.13 版本中,Docker 向 CLI 新增了一些有用的命令,讓環境更加整潔。你可能已經體驗了很長時間亂糟糟的開發環境——無用的容器,掛起的 Docker 映象,棄置的 volume,被遺忘的網路……所有這些過時的事物佔據了寶貴的資源,最終導致環境無法使用。在之前的文章中曾經提到用各種各樣的命令保持環境的整潔,例如:
docker rm -f $(docker ps -aq)
強制地刪除所有正在執行的、暫停的以及終止的容器。同樣地,也有命令可以刪除掛起的映象、網路和 volume。
儘管上述命令解決了問題,但是它們要麼專有,要麼冗長或者難用。而新加入的命令直截了當又簡單好用,現在就開始一一介紹吧。
## 管理命令
為了整理 CLI,Docker 1.13 引進了新的管理命令,如下:
- system
- container
- image
- plugin
- secret
Docker 的老版本中已經有了 network, node, service, swarm 和 volume 。這些新命令組子命令過去作為 root 命令直接實現。舉個例子:
docker exec -it [container-name] [some-command]
exec 命令現在是 container 下面的一個子命令,這個命令相當於:
docker container exec -it [container-name] [some-command]
個人猜測為了相容性的考慮,舊語句眼下還會使用一段時間。
##Docker 系統
現在有一個新管理命令 system 。它有 4 個子命令分別是 df, events, info 和 prune 。命令 docker system df 提供 Docker 整體磁碟使用率的概況,包括映象、容器和(本地)volume。所以我們現在隨時都可以檢視 Docker 使用了多少資源。
如果之前的命令展示出 docker 已經佔用了太多空間,我們會開始清理。有一個包辦一切的命令:
docker system prune
這個命令會刪除當前沒有被使用的一切專案,它按照一種正確的序列進行清理,所以會達到最大化的輸出結果。首先刪除沒有被使用的容器,然後是 volume 和網路,最後是掛起的映象。通過使用 y 回覆來確認操作。如果想在指令碼中使用這個命令,可以使用引數 --force 或者 -f 告訴 Docker 不要發來確認請求。
##Docker 容器
我們已經知道許多 docker container 的子命令。它們過去(現在也是)是 docker 的直接子命令。可以通過下面的命令得到完整的子命令列表:
docker container --help
在列表中會看到一個 prune 命令。如果使用它,那麼只會刪除無用的容器。因此這條命令比 docker system prune 命令更侷限。使用 --force 或者 -f 同意可以讓 CLI 不再進行確認請求。
##Docker 網路
這裡也有一個 prune 命令:
docker network prune
刪除所有孤立的網路。
##Docker Volume
volume 也有新的 prune 命令了:
docker volume prune
刪除所有(本地)沒有被容器使用的 volume。
##Docker 映象
新的映象命令也是 prune 子命令。--force 用法如上面一樣, --all 可以刪除所有不用的映象,不只掛起的映象。
docker image prune --force --all
這個命令可以刪除所有不使用的映象並且不再請求確認。
## 總結
Docker 1.13 不僅通過引入 admin command 新增了一些需要的命令,也讓我們找到了一些非常有用的清理環境的命令。筆者最愛的命令莫過於 docker system prune,讓環境一直保持乾淨整齊。
本文作者:Gabriel Schenker 原文連結:https://lostechies.com/gabrielschenker/2016/12/12/containers-cleanup-your-house-revisited/
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- MySQL 函式索引功能終於可以實現了MySql函式索引
- 最實用的 Linux 命令列使用技巧Linux命令列
- 最實用的Linux命令列使用技巧彙總Linux命令列
- 最實用的 Linux 命令列使用技巧彙總Linux命令列
- 最實用也最容易被遺忘的 Linux 命令列使用技巧Linux命令列
- LINUX命令列終端提示符多種實用技巧!Linux命令列
- 終於可以愉快的擼Java非同步程式碼了!Java非同步
- Linux 終於足夠好,可以取代 Windows 了嗎?LinuxWindows
- 到新公司工作了,終於可以寫部落格了
- 漫畫通訊:有了它,終於可以放心買買買了
- 記憶體不夠用還要速度快,終於找到可以基於 File 的 Cache 了記憶體
- 終於在itpub申請到個人空間了
- Docker cp 命令(用於容器與主機之間的資料拷貝)Docker
- 最靠譜iPhone 7工程機曝光 終於開機了iPhone
- MAC常用終端命令列Mac命令列
- Java 8 終於支援 Docker!JavaDocker
- 終於來了!FastGPT 正式相容 GPT 應用ASTGPT
- 以後可以使用命令列終端來看掘金的文章啦命令列
- 盤點最強最實用的Linux命令!Linux
- Docker 命令大全及應用實戰Docker
- 終於能用 Docker 搭建一套自己的環境了(dnmp)Docker
- ffmpeg 命令列實用總結命令列
- Github上最熱門的Java專案終於開源了!GithubJava
- Oculus感測器開賣了!實現房間級VR體驗VR
- Tmux 終端命令列介紹UX命令列
- Java 14中對switch的增強,終於可以不寫break了Java
- 冰河技術微信公眾號終於可以留言了(文末領福利)!!
- ZOC for Mac:最 佳終端模擬器,提升您的Mac命令列體驗Mac命令列
- 微軟終於放棄了Electron了微軟
- 實用的Linux命令列技巧Linux命令列
- 從 iOS 11.3 開始 App Store 的評價終於可以排序了iOSAPP排序
- 記憶體小還要速度快,終於找到可以基於File的Cache了記憶體
- AI 終於受涼了??AI
- 終於要來了!蘋果新產品釋出時間曝光蘋果
- 一個老的遊戲,據說全世界只有不到4000人可以走出這個房間--之“深紅色房間”。...遊戲
- 終於實現了一門屬於自己的程式語言
- Perl 作為命令列實用程式(轉)命令列
- 實時 Django 終於來了 —— Django Channels 入門指南Django