Docker 1.13 最實用命令行:終於能夠愉快地打掃房間了

Docker 1.13 出來已經有一段時間了,新版本添加了許多有用的命令,本文做者從處女座的潔癖(此處有霧)出發,告訴你們一些整理環境的小技巧。打掃房間不再需費時又費力了,簡單的命令,就能夠輕鬆地把物品分門別類(容器、鏡像、網絡、存儲卷……)地整理好node

在 1.13 版本中, Docker 向 CLI 添加了一些有用的命令,讓環境更加整潔。你可能已經體驗了很長時間亂糟糟的開發環境——無用的容器,掛起的 Docker 鏡像,棄置的 volume ,被遺忘的網絡……全部這些過期的事物佔據了寶貴的資源,最終致使環境沒法使用。在以前的文章中曾經提到用各類各樣的命令保持環境的整潔,例如:nginx

docker rm -f $(docker ps -aq) 

強制地刪除全部正在運行的、暫停的以及終止的容器。一樣地,也有命令能夠刪除掛起的鏡像、網絡和 volume 。docker

儘管上述命令解決了問題,可是它們要麼專有,要麼冗長或者難用。而新加入的命令直截了當又簡單好用,如今就開始一一介紹吧。bash

管理命令

爲了整理 CLI , Docker 1.13 引進了新的管理命令,以下:markdown

  • system
  • container
  • image
  • plugin
  • secret

Docker 的老版本中已經有了 network, node, service, swarm 和 volume 。這些新命令組子命令過去做爲 root 命令直接實現。舉個例子:網絡

docker exec -it [container-name] [some-command] 

exec 命令如今是 container 下面的一個子命令,這個命令至關於:app

docker container exec -it [container-name] [some-command] 

我的猜想爲了兼容性的考慮,舊語句眼下還會使用一段時間。ui

Docker 系統

如今有一個新管理命令 system 。它有 4 個子命令分別是 df, events, info 和 prune 。命令 docker system df 提供 Docker 總體磁盤使用率的概況,包括鏡像、容器和(本地) volume 。因此咱們如今隨時均可以查看 Docker 使用了多少資源。spa

若是以前的命令展現出 docker 已經佔用了太多空間,咱們會開始清理。有一個包辦一切的命令:code

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 ,讓環境一直保持乾淨整齊。

相關文章
相關標籤/搜索