用 Portainer.io 来监控和管理 Docker 容器(1)
创始人
2024-03-02 05:50:44
0

随着 Docker 的使用量越来越大,监控 Docker 容器正在变得更有挑战性。每天都有大量的 Docker 容器被创建,因此如何监控它们就变得非常重要。目前已经有一些内置的工具和技术,不过对它们进行配置有一些复杂。随着基于微服务的架构正在变成接下来事实上的标准,学会这种技术将为你的知识库再添一项新技能。

基于上述场景,对一种轻量、健壮的镜像管理工具的需求日益增加。Portainer.io 解决了这个问题。 Portainer.io(最新版本是 1.20.2)非常轻量,只需 2-3 个命令就可以配置好,已经在 Docker 用户中流行起来。

比起其他工具,这个工具有很多优势,其中一些如下所示:

  • 轻量(安装此工具仅需 2 到 3 个命令,与此同时安装镜像的大小在 26 M 到 30 M 之间)
  • 健壮且易用
  • 可用于 Docker 监控和构建
  • 提供对 Docker 环境的详细概况
  • 可以管理容器、镜像、网络和卷
  • Portainer 部署方便,仅需一个 Docker 命令(可以在任意地方运行)
  • 可以对完整的 Docker 容器环境进行监控

Portainer 同时具有以下服务:

  • 社区支持
  • 企业支持
  • 与合作伙伴 OEM 服务一起的专业服务

Portainer 的功能和特性如下:

1. 配备了漂亮的仪表盘,易于使用和监控
2. 自带大量内置模板,便于操作和创建
3. 服务支持(仅 OEM 和企业用户)
4. 对容器、镜像、网络、卷以及配置进行几乎实时的监控
5. 包含 Docker 集群监控功能
6. 功能多样的用户管理

另请阅读:如何在 Ubuntu 16.04 / 18.04 LTS 版本中安装 Docker CE

如何在 Ubuntu Linux / RHEL / CentOS 系统上安装和配置 Portainer.io

注意:下面的安装过程是在 Ubuntu 18.04 上完成的,但是对 RHEL 和 CentOS 同样适用,同时假设你已经在系统上安装了 Docker CE。

root@linuxtechi:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:        18.04
Codename:       bionic
root@linuxtechi:~$

为 Portainer 创建卷:

root@linuxtechi:~$ sudo docker volume create portainer_data
portainer_data
root@linuxtechi:~$

使用下面的 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
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete
0b1e707a06d2: Pull complete
Digest: sha256:d6cc2c20c0af38d8d557ab994c419c799a10fe825e4aa57fea2e2e507a13747d
Status: Downloaded newer image for portainer/portainer:latest
35286de9f2e21d197309575bb52b5599fec24d4f373cc27210d98abc60244107
root@linuxtechi:~$

安装完成之后,通过主机或 Docker 的 IP 加上 Docker 引擎使用的 9000 端口在浏览器中打开 Portainer。

注意:如果 Docker 所在主机的系统防火墙开启,需要确保 9000 端口被放行,否则浏览器页面将无法打开。

在我这边,我的 Docker 主机/引擎的 IP 是 192.168.1.16,所以 URL 就是 http://192.168.1.16:9000

Portainer-Login-User-Name-Password

在创建管理员用户时,请确保密码是 8 个字符,同时用户名为 admin,然后点击 “Create User”。

接下来进入如下所示的页面,选中 “Local” 矩形框。

Connect-Portainer-Local-Docker

点击 “Connect”,

可以看到 admin 用户的漂亮首页如下所示,

Portainer-io-Docker-Monitor-Dashboard

现在 Portainer 已经准备好运行和管理你的 Docker 容器了,同时也可用于容器监控。

在 Portainer 中管理容器镜像

Portainer-Endpoints

检查当前的状态,可以看到有两个容器已经在运行了,如果你创建另一个也会立即显示出来。

像下面这样,在命令行中启动一个或两个容器,

root@linuxtechi:~$ sudo docker run --name test -it debian
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
e79bb959ec00: Pull complete
Digest: sha256:724b0fbbda7fda6372ffed586670573c59e07a48c86d606bab05db118abe0ef5
Status: Downloaded newer image for debian:latest
root@linuxtechi:/#

然后在 Portainer 页面中点击刷新按钮(会出现一条让你确认的消息,点击上面的 “Continue”),就可以像下面高亮显示的一样看到 3 个容器了。

Portainer-io-new-container-image

点击上图中红圈圈出来的 “containers”,下一个页面会显示 “Dashboard Endpoint summary”。

Portainer-io-Docker-Container-Dash

在这个页面中,点击上图高亮和红圈圈出来的 “Containers”,就可以对容器进行监控了。

以简单的方式对容器进行监控

继续上面的步骤,就会出现一个如下所示精致、漂亮的 “Container list” 页面。

Portainer-Container-List

所有的容器都可以在这里进行控制(停止、启动等等)。

1、在这个页面上,停止我们之前启动的 “test” 容器(这是一个我们早先启动的 debian 容器)。

选中此容器前面的复选框,然后点击上面的“Stop”按钮来停止。

Stop-Container-Portainer-io-dashboard

在命令行中,你也会看到这个容器现在已经停止或退出了:

root@linuxtechi:~$ sudo docker container ls -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                       PORTS                    NAMES
d45902e717c0        debian                "bash"              21 minutes ago      Exited (0) 49 seconds ago                             test
08b96eddbae9        centos:7              "/bin/bash"         About an hour ago   Exited (137) 9 minutes ago                            mycontainer2
35286de9f2e2        portainer/portainer   "/portainer"        2 hours ago         Up About an hour             0.0.0.0:9000->9000/tcp   compassionate_benz
root@linuxtechi:~$

2、现在,在 Portainer 页面中启动已经停止的两个容器(test 和 mycontainer2)

选中已停止的这两个容器前面的复选框,然后点击 “Start”。

Start-Containers-Portainer-GUI

你会立即看到两条窗口提醒,内容是“容器成功启动”,并且两个容器的状态变为正在运行。

Conatiner-Started-successfully-Portainer-GUI

一步步探索其他多种选项和特性

1、点击高亮的“Images”,你会看到如下页面:

Docker-Container-Images-Portainer-GUI

这是可用的容器列表,其中一些可能没在运行。这些容器可以被导入、导出或者上传到不同的位置,截图如下所示。

Upload-Docker-Container-Image-Portainer-GUI

2、点击高亮的“Volumes”,显示如下页面:

Volume-list-Portainer-io-gui

3、通过下面的操作,可以很容易的添加卷。点击添加卷按钮,出现如下页面,在名称输入框中输入卷名称,例如 “myvol”,然后点击 “Create the volume” 按钮:

Volume-Creation-Portainer-io-gui

新创建的卷如下所示(状态为未使用):

Volume-unused-Portainer-io-gui

结论

通过上面的安装步骤,你可以到配置和使用 Portainer.io 的多种选项是多么简单和精美,它提供了用于构建和监控 Docker 容器的多种功能和选项。如前所述,这个一个非常轻量的工具,因此不会给主机系统增加任何负担。下一组选项将在本系列的第 2 部分中进行探讨。

另请阅读: 用 Portainer.io 来监控和管理 Docker 容器(2)


via: https://www.linuxtechi.com/monitor-manage-docker-containers-portainer-part1/

作者:Shashidhar Soppin 选题:lujun9972 译者:jlztan 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

外媒初探Win11 WSL...
IT之家 7 月 2 日消息,科技媒体 Windows Lates...
2026-07-17 23:36:40
Fedora 44 不只是...
Fedora 44 已发布,带来内核 6.19.10、工具链升级与...
2026-05-15 22:19:06
摩尔线程发布AI算力笔记本...
钛媒体App 12月20日消息,摩尔线程创始人、董事长兼CEO张建...
2025-12-20 17:46:02
英特尔,下一个 AI 时代...
找一张三年前的照片,需要多久?你需要翻遍混乱的相册,还是依赖飘忽的...
2025-12-16 16:45:37
梯度科技申请基于Kuber...
国家知识产权局信息显示,梯度科技(北京)有限公司申请一项名为“基于...
2025-12-06 21:16:54
破解算力资源利用难题,华为...
近日,华为数据存储产品线发布了AI容器技术——Flex:ai,同时...
2025-11-24 11:45:25

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...