@jlztan
This commit is contained in:
Xingyu Wang 2020-09-20 22:59:26 +08:00
parent 023c52b443
commit 439382f167

View File

@ -1,20 +1,22 @@
[#]: collector: "lujun9972" [#]: collector: "lujun9972"
[#]: translator: "jlztan" [#]: translator: "jlztan"
[#]: reviewer: " " [#]: reviewer: "wxy"
[#]: publisher: " " [#]: publisher: " "
[#]: url: " " [#]: url: " "
[#]: subject: "Monitor and Manage Docker Containers with Portainer.io (GUI tool) Part-1" [#]: subject: "Monitor and Manage Docker Containers with Portainer.io (GUI tool) Part-1"
[#]: via: "https://www.linuxtechi.com/monitor-manage-docker-containers-portainer-part1/" [#]: via: "https://www.linuxtechi.com/monitor-manage-docker-containers-portainer-part1/"
[#]: author: "Shashidhar Soppin https://www.linuxtechi.com/author/shashidhar/" [#]: author: "Shashidhar Soppin https://www.linuxtechi.com/author/shashidhar/"
用 Portainer.io(图形界面工具)来监控和管理 Docker 容器 1 用 Portainer.io 来监控和管理 Docker 容器1
====== ======
随着 **Docker** 的使用量越来越大,监控 **Docker** 容器正在变得更有挑战性。每天都有大量的 Docker 容器被创建,因此如何监控它们就变得非常重要。已经有一些用于监控容器的构建工具和技术,不过对它们进行配置有一些复杂。随着基于微服务的架构正在变成接下来事实上的标准,学会这种技术将为你的知识库再添一项新技能。 ![](https://img.linux.net.cn/data/attachment/album/202009/20/225425zaepvexqvg7nndqv.jpg)
基于上述场景对一种轻量、健壮的镜像管理工具的需求日益增加。Portainer.io 解决了这个问题。“**Portainer.io**“(最新版本是 1.20.2)非常轻量(只有 2-3 个可以配置的命令),在 Docker 用户之间很流行 随着 Docker 的使用量越来越大,监控 Docker 容器正在变得更有挑战性。每天都有大量的 Docker 容器被创建,因此如何监控它们就变得非常重要。目前已经有一些内置的工具和技术,不过对它们进行配置有一些复杂。随着基于微服务的架构正在变成接下来事实上的标准,学会这种技术将为你的知识库再添一项新技能
**比起其他工具,这个工具有很多优势,其中一些如下所示:** 基于上述场景对一种轻量、健壮的镜像管理工具的需求日益增加。Portainer.io 解决了这个问题。 Portainer.io最新版本是 1.20.2)非常轻量,只需 2-3 个命令就可以配置好,已经在 Docker 用户中流行起来。
比起其他工具,这个工具有很多优势,其中一些如下所示:
* 轻量(安装此工具仅需 2 到 3 个命令,与此同时安装镜像的大小在 26 M 到 30 M 之间) * 轻量(安装此工具仅需 2 到 3 个命令,与此同时安装镜像的大小在 26 M 到 30 M 之间)
* 健壮且易用 * 健壮且易用
@ -24,13 +26,13 @@
* Portainer 部署方便,仅需一个 Docker 命令(可以在任意地方运行) * Portainer 部署方便,仅需一个 Docker 命令(可以在任意地方运行)
* 可以对完整的 Docker 容器环境进行监控 * 可以对完整的 Docker 容器环境进行监控
**Portainer 同时具有以下服务:** Portainer 同时具有以下服务:
- 社区支持 - 社区支持
- 企业支持 - 企业支持
- 与合作伙伴 OEM 服务一起的专业服务 - 与合作伙伴 OEM 服务一起的专业服务
**Portainer 的功能和特性如下:** Portainer 的功能和特性如下:
1. 配备了漂亮的仪表盘,易于使用和监控 1. 配备了漂亮的仪表盘,易于使用和监控
2. 自带大量内置模板,便于操作和创建 2. 自带大量内置模板,便于操作和创建
@ -39,11 +41,11 @@
5. 包含 Docker 集群监控功能 5. 包含 Docker 集群监控功能
6. 功能多样的用户管理 6. 功能多样的用户管理
**另请阅读:[如何在 Ubuntu 16.04 / 18.04 LTS 版本中安装 Docker CE][1]** 另请阅读:[如何在 Ubuntu 16.04 / 18.04 LTS 版本中安装 Docker CE][1]
### 如何在 Ubuntu Linux / RHEL / CentOS 系统上安装和配置 Portainer.io ### 如何在 Ubuntu Linux / RHEL / CentOS 系统上安装和配置 Portainer.io
**注意:**下面的安装过程是在 Ubuntu 18.04 上完成的,但是对 RHEL 和 CentOS 同样适用,同时假设你已经在系统上安装了 Docker CE。 注意:下面的安装过程是在 Ubuntu 18.04 上完成的,但是对 RHEL 和 CentOS 同样适用,同时假设你已经在系统上安装了 Docker CE。
``` ```
root@linuxtechi:~$ lsb_release -a root@linuxtechi:~$ lsb_release -a
@ -55,7 +57,7 @@ Codename: bionic
root@linuxtechi:~$ root@linuxtechi:~$
``` ```
为 Portainer 创建卷 为 Portainer 创建卷
``` ```
root@linuxtechi:~$ sudo docker volume create portainer_data root@linuxtechi:~$ sudo docker volume create portainer_data
@ -63,7 +65,7 @@ portainer_data
root@linuxtechi:~$ root@linuxtechi:~$
``` ```
使用下面的 Docker 命令来运行 Portainer 容器 使用下面的 Docker 命令来运行 Portainer 容器
``` ```
root@linuxtechi:~$ sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer root@linuxtechi:~$ sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
@ -79,31 +81,29 @@ root@linuxtechi:~$
安装完成之后,通过主机或 Docker 的 IP 加上 Docker 引擎使用的 9000 端口在浏览器中打开 Portainer。 安装完成之后,通过主机或 Docker 的 IP 加上 Docker 引擎使用的 9000 端口在浏览器中打开 Portainer。
**注意:**如果 Docker 所在主机的系统防火墙开启,需要确保 9000 端口被放行,否则浏览器页面将无法打开。 注意:如果 Docker 所在主机的系统防火墙开启,需要确保 9000 端口被放行,否则浏览器页面将无法打开。
在我这边,我的 Docker 主机/引擎的 IP 是“192.168.1.16”,所以 URL 就是 在我这边,我的 Docker 主机/引擎的 IP `192.168.1.16`,所以 URL 就是 `http://192.168.1.16:9000`
<http://192.168.1.16:9000> ![Portainer-Login-User-Name-Password][2]
[![Portainer-Login-User-Name-Password][2]][3] 在创建管理员用户时,请确保密码是 8 个字符,同时用户名为 `admin`,然后点击 “Create User”。
在创建管理员用户时,请确保密码是 8 个字符,同时用户名为 admin然后点击“Create User” 接下来进入如下所示的页面,选中 “Local” 矩形框
接下来进入如下所示的页面选中“Local”矩形框。 ![Connect-Portainer-Local-Docker][4]
[![Connect-Portainer-Local-Docker][4]][5] 点击 “Connect”
点击“Connect”
可以看到 admin 用户的漂亮首页如下所示, 可以看到 admin 用户的漂亮首页如下所示,
[![Portainer-io-Docker-Monitor-Dashboard][6]][7] ![Portainer-io-Docker-Monitor-Dashboard][6]
现在 Portainer 已经准备好运行和管理你的 Docker 容器了,同时也可用于容器监控。 现在 Portainer 已经准备好运行和管理你的 Docker 容器了,同时也可用于容器监控。
### 在 Portainer 中管理容器镜像 ### 在 Portainer 中管理容器镜像
[![Portainer-Endpoints][8]][9] ![Portainer-Endpoints][8]
检查当前的状态,可以看到有两个容器已经在运行了,如果你创建另一个也会立即显示出来。 检查当前的状态,可以看到有两个容器已经在运行了,如果你创建另一个也会立即显示出来。
@ -119,31 +119,31 @@ Status: Downloaded newer image for debian:latest
root@linuxtechi:/# root@linuxtechi:/#
``` ```
然后在 Portainer 页面中点击刷新按钮会出现一条让你确认的消息点击上面的“Continue”就可以像下面高亮显示的一样看到 3 个容器了。 然后在 Portainer 页面中点击刷新按钮(会出现一条让你确认的消息,点击上面的 “Continue”就可以像下面高亮显示的一样看到 3 个容器了。
[![Portainer-io-new-container-image][10]][11] ![Portainer-io-new-container-image][10]
点击上图中红圈圈出来的“containers”下一个页面会显示“**Dashboard Endpoint summary** ”。 点击上图中红圈圈出来的 “containers”下一个页面会显示 “Dashboard Endpoint summary”。
[![Portainer-io-Docker-Container-Dash][12]][13] ![Portainer-io-Docker-Container-Dash][12]
在这个页面中点击上图高亮和红圈圈出来的“Containers”就可以对容器进行监控了。 在这个页面中,点击上图高亮和红圈圈出来的 “Containers”就可以对容器进行监控了。
### 以简单的方式对容器进行监控 ### 以简单的方式对容器进行监控
继续上面的步骤就会出现一个如下所示精致、漂亮的“Container list”页面。 继续上面的步骤,就会出现一个如下所示精致、漂亮的 “Container list” 页面。
[![Portainer-Container-List][14]][15] ![Portainer-Container-List][14]
所有的容器都可以在这里进行控制(停止启动等等)。 所有的容器都可以在这里进行控制(停止启动等等)。
**1)** 在这个页面上停止我们之前启动的“test”容器(这是一个我们早先启动的 debian 容器) 1、在这个页面上停止我们之前启动的 “test” 容器(这是一个我们早先启动的 debian 容器)
选中此容器前面的复选框然后点击上面的“Stop”按钮来停止。 选中此容器前面的复选框然后点击上面的“Stop”按钮来停止。
[![Stop-Container-Portainer-io-dashboard][16]][17] ![Stop-Container-Portainer-io-dashboard][16]
在命令行中,你也会看到这个容器现在已经停止或退出了 在命令行中,你也会看到这个容器现在已经停止或退出了
``` ```
root@linuxtechi:~$ sudo docker container ls -a root@linuxtechi:~$ sudo docker container ls -a
@ -154,46 +154,43 @@ d45902e717c0 debian "bash" 21 minutes ago
root@linuxtechi:~$ root@linuxtechi:~$
``` ```
**2)** 现在,在 Portainer 页面中启动已经停止的两个容器test 和 mycontainer2 2、现在,在 Portainer 页面中启动已经停止的两个容器test 和 mycontainer2
选中已停止的这两个容器前面的复选框然后点击“Start”。 选中已停止的这两个容器前面的复选框,然后点击 “Start”。
[![Start-Containers-Portainer-GUI][18]][19] ![Start-Containers-Portainer-GUI][18]
你会立即看到两条窗口提醒,内容是“容器成功启动”,并且两个容器的状态变为正在运行。 你会立即看到两条窗口提醒,内容是“容器成功启动”,并且两个容器的状态变为正在运行。
[![Conatiner-Started-successfully-Portainer-GUI][20]][21] ![Conatiner-Started-successfully-Portainer-GUI][20]
### 一步步探索其他多种选项和特性 ### 一步步探索其他多种选项和特性
**1)** 点击高亮的“Images”你会看到如下页面 1、点击高亮的“Images”你会看到如下页面
[![Docker-Container-Images-Portainer-GUI][22]][23] ![Docker-Container-Images-Portainer-GUI][22]
这是可用的容器列表,其中一些可能没在运行。这些容器可以被导入、导出或者上传到不同的位置,截图如下所示。 这是可用的容器列表,其中一些可能没在运行。这些容器可以被导入、导出或者上传到不同的位置,截图如下所示。
[![Upload-Docker-Container-Image-Portainer-GUI][24]][25] ![Upload-Docker-Container-Image-Portainer-GUI][24]
**2)** 点击高亮的“Volumes”显示如下页面 2、点击高亮的“Volumes”显示如下页面
[![Volume-list-Portainer-io-gui][26]][27] ![Volume-list-Portainer-io-gui][26]
**3)** 通过下面的操作,可以很容易的添加卷。点击添加卷按钮,出现如下页面 3、通过下面的操作,可以很容易的添加卷。点击添加卷按钮,出现如下页面,在名称输入框中输入卷名称,例如 “myvol”然后点击 “Create the volume” 按钮:
在名称输入框中输入卷名称,例如 “**myvol**”,然后点击 “**Create the volume**” 按钮。 ![Volume-Creation-Portainer-io-gui][28]
[![Volume-Creation-Portainer-io-gui][28]][29] 新创建的卷如下所示(状态为未使用):
新创建的卷如下所示(状态为未使用)。 ![Volume-unused-Portainer-io-gui][30]
[![Volume-unused-Portainer-io-gui][30]][31]
### 结论 ### 结论
通过上面的安装步骤,你可以到配置和使用 Portainer.io 的多种选项是多么简单和精美,它提供了用于构建和监控 Docker 容器的多种功能和选项。如前所述,这个一个非常轻量的工具,因此不会给主机系统增加任何负担。下一组选项将在本系列的第 2 部分中进行探讨。 通过上面的安装步骤,你可以到配置和使用 Portainer.io 的多种选项是多么简单和精美,它提供了用于构建和监控 Docker 容器的多种功能和选项。如前所述,这个一个非常轻量的工具,因此不会给主机系统增加任何负担。下一组选项将在本系列的第 2 部分中进行探讨。
另请阅读: **[用 Portainer.io (图形界面工具) 来监控和管理 Docker 容器 2][32]** 另请阅读: [用 Portainer.io 来监控和管理 Docker 容器2][32]
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -202,7 +199,7 @@ via: https://www.linuxtechi.com/monitor-manage-docker-containers-portainer-part1
作者:[Shashidhar Soppin][a] 作者:[Shashidhar Soppin][a]
选题:[lujun9972][b] 选题:[lujun9972][b]
译者:[jlztan](https://github.com/jlztan) 译者:[jlztan](https://github.com/jlztan)
校对:[校对者ID](https://github.com/校对者ID) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出