用 Portainer.io 來監控和管理 Docker 容器(1)
隨著 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
在創建管理員用戶時,請確保密碼是 8 個字元,同時用戶名為 admin
,然後點擊 「Create User」。
接下來進入如下所示的頁面,選中 「Local」 矩形框。
點擊 「Connect」,
可以看到 admin 用戶的漂亮首頁如下所示,
現在 Portainer 已經準備好運行和管理你的 Docker 容器了,同時也可用於容器監控。
在 Portainer 中管理容器鏡像
檢查當前的狀態,可以看到有兩個容器已經在運行了,如果你創建另一個也會立即顯示出來。
像下面這樣,在命令行中啟動一個或兩個容器,
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 個容器了。
點擊上圖中紅圈圈出來的 「containers」,下一個頁面會顯示 「Dashboard Endpoint summary」。
在這個頁面中,點擊上圖高亮和紅圈圈出來的 「Containers」,就可以對容器進行監控了。
以簡單的方式對容器進行監控
繼續上面的步驟,就會出現一個如下所示精緻、漂亮的 「Container list」 頁面。
所有的容器都可以在這裡進行控制(停止、啟動等等)。
1、在這個頁面上,停止我們之前啟動的 「test」 容器(這是一個我們早先啟動的 debian 容器)。
選中此容器前面的複選框,然後點擊上面的「Stop」按鈕來停止。
在命令行中,你也會看到這個容器現在已經停止或退出了:
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」。
你會立即看到兩條窗口提醒,內容是「容器成功啟動」,並且兩個容器的狀態變為正在運行。
一步步探索其他多種選項和特性
1、點擊高亮的「Images」,你會看到如下頁面:
這是可用的容器列表,其中一些可能沒在運行。這些容器可以被導入、導出或者上傳到不同的位置,截圖如下所示。
2、點擊高亮的「Volumes」,顯示如下頁面:
3、通過下面的操作,可以很容易的添加卷。點擊添加卷按鈕,出現如下頁面,在名稱輸入框中輸入卷名稱,例如 「myvol」,然後點擊 「Create the volume」 按鈕:
新創建的卷如下所示(狀態為未使用):
結論
通過上面的安裝步驟,你可以到配置和使用 Portainer.io 的多種選項是多麼簡單和精美,它提供了用於構建和監控 Docker 容器的多種功能和選項。如前所述,這個一個非常輕量的工具,因此不會給主機系統增加任何負擔。下一組選項將在本系列的第 2 部分中進行探討。
另請閱讀: 用 Portainer.io 來監控和管理 Docker 容器(2)
via: https://www.linuxtechi.com/monitor-manage-docker-containers-portainer-part1/
作者:Shashidhar Soppin 選題:lujun9972 譯者:jlztan 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive