Dry:一个命令行交互式 Docker 容器管理器 ====== Docker 是一种所谓容器化的操作系统级的虚拟化软件。 基于 Linux 内核的 cgroup 和 namespace 等资源隔离特性,Docker 可以在单个 Linux 实例中运行多个独立的容器。 通过将应用依赖和相关库打包进容器,Docker 使得应用可以在容器中安全隔离地运行。 ### Dry 是什么 [Dry][1] 是一个管理并监控 Docker 容器和镜像的命令行工具。 Dry 可以给出容器相关的信息,包括对应镜像、容器名称、网络、容器中运行的命令及容器状态;如果运行在 Docker Swarm 中,工具还会给出 Swarm 集群的各种状态信息。 Dry 可以连接至本地或远程的 Docker 守护进程。如果连接本地 Docker,Docker 主机显示为 `unix:///var/run/docker.sock`。 如果连接远程 Docker,Docker 主机显示为 `tcp://IP Address:Port Number` 或 `tcp://Host Name:Port Number`。 Dry 可以提供类似 `docker ps` 的指标输出,但输出比 `docker ps` 内容详实、富有色彩。 相比 Docker,Dry 还可以手动添加一个额外的名称列,用于降低记忆难度。 **推荐阅读:** - [Portainer – 用于 Docker 管理的简明 GUI][2] - [Rancher – 适用于生产环境的完备容器管理平台][3] - [cTop – Linux环境下容器管理与监控的命令行工具][4] ### 如何在 Linux 中安装 Dry 在 Linux 中,可以通过一个简单的 shell 脚本安装最新版本的 Dry 工具。Dry 不依赖外部库。对于绝大多数的 Docker 命令,Dry 提供类似样式的命令。 ``` $ curl -sSf https://moncho.github.io/dry/dryup.sh | sudo sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10 100 10 0 0 35 0 --:--:-- --:--:-- --:--:-- 35 dryup: downloading dry binary ######################################################################## 100.0% dryup: Moving dry binary to its destination dryup: dry binary was copied to /usr/local/bin, now you should 'sudo chmod 755 /usr/local/bin/dry' ``` 使用如下命令将文件权限变更为 `755`: ``` $ sudo chmod 755 /usr/local/bin/dry ``` 对于使用 Arch Linux 的用户,可以使用 **[Packer][5]** 或 **[Yaourt][6]** 包管理器,从 AUR 源安装该工具。 ``` $ yaourt -S dry-bin 或者 $ packer -S dry-bin ``` 如果希望在 Docker 容器中运行 dry,可以运行如下命令。前提条件是已确认在操作系统中安装了 Docker。 **推荐阅读:** - [如何在 Linux 中安装 Docker][7] - [如何在 Linux 中玩转 Docker 镜像][8] - [如何在 Linux 中玩转 Docker 容器][9] - [如何在 Docker 容器中安装并运行应用程序][10] ``` $ docker run -it -v /var/run/docker.sock:/var/run/docker.sock moncho/dry ``` ### 如何启动并运行 Dry 在控制台运行 `dry` 命令即可启动该工具,其默认输出如下: ``` $ dry ``` ![][12] ### 如何使用 Dry 监控 Docker 你可以在 dry 的界面中按下 `m` 键打开监控模式。 ![][13] ### 如何使用 Dry 管理容器 在选中的容器上单击回车键,即可管理容器。Dry 提供如下操作:查看日志,查看、杀死、删除容器,停止、启动、重启容器,查看容器状态及镜像历史记录等。 ![][14] ### 如何监控容器资源利用率 用户可以使用 `Stats+Top` 选项查看指定容器的资源利用率。 该操作需要在容器管理界面完成(在上一步的基础上,点击 `Stats+Top` 选项)。另外,也可以按下 `s` 打开容器资源利用率界面。 ![][15] ### 如何查看容器、镜像及本地卷的磁盘使用情况 可以使用 `F8` 键查看容器、镜像及本地卷的磁盘使用情况。 该界面明确地给出容器、镜像和卷的总数,哪些处于使用状态,以及整体磁盘使用情况、可回收空间大小的详细信息。 ![][16] ### 如何查看已下载的镜像 按下 `2` 键即可列出全部的已下载镜像。 ![][17] ### 如何查看网络列表 按下 `3` 键即可查看全部网络及网关。 ![][18] ### 如何查看全部 Docker 容器 按下 `F2` 键即可列出列出全部容器,包括运行中和已关闭的容器。 ![][19] ### Dry 快捷键 查看帮助页面或 [dry GitHub][1] 即可查看全部快捷键。 -------------------------------------------------------------------------------- via: https://www.2daygeek.com/dry-an-interactive-cli-manager-for-docker-containers/ 作者:[Magesh Maruthamuthu][a] 选题:[lujun9972](https://github.com/lujun9972) 译者:[pinewall](https://github.com/pinewall) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]:https://www.2daygeek.com/author/magesh/ [1]:https://github.com/moncho/dry [2]:https://www.2daygeek.com/portainer-a-simple-docker-management-gui/ [3]:https://www.2daygeek.com/rancher-a-complete-container-management-platform-for-production-environment/ [4]:https://www.2daygeek.com/ctop-a-command-line-tool-for-container-monitoring-and-management-in-linux/ [5]:https://www.2daygeek.com/install-packer-aur-helper-on-arch-linux/ [6]:https://www.2daygeek.com/install-yaourt-aur-helper-on-arch-linux/ [7]:https://www.2daygeek.com/install-docker-on-centos-rhel-fedora-ubuntu-debian-oracle-archi-scentific-linux-mint-opensuse/ [8]:https://www.2daygeek.com/list-search-pull-download-remove-docker-images-on-linux/ [9]:https://www.2daygeek.com/create-run-list-start-stop-attach-delete-interactive-daemonized-docker-containers-on-linux/ [10]:https://www.2daygeek.com/install-run-applications-inside-docker-containers/ [11]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 [12]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-1.png [13]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-2.png [14]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-3.png [15]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-4.png [16]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-5.png [17]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-6.png [18]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-7.png [19]:https://www.2daygeek.com/wp-content/uploads/2018/03/dry-an-interactive-cli-manager-for-docker-containers-8.png