Docker 1.13最實用命令行:終于可以愉快地打掃房間了

Kin63X 8年前發布 | 39K 次閱讀 Docker

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

 

來自:http://dockone.io/article/1923

 

 本文由用戶 Kin63X 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!