Docker輕量級可視化管理工具Portainer

原文鏈接:http://www.unmin.club/2020/07/portainer/

一、Portainer介紹

Docker的可視化管理工具有DockerUI、Shipyard、Rancher、Portainer等,具體的功能差異請查看Docker的可視化管理工具對比,本文使用Portainer工具對Docker環境進行管理。

Portainer是一個輕量級的docker環境管理UI,可以用來管理docker宿主機和docker swarm集群。

Portainer主要功能:

  1. 提供狀態顯示面板:顯示主機或者swarm集群上有多少鏡像,容器、網絡、數據卷等;
  2. 應用模板快速部署:可以使用預存的模板或者自己定制的模板快速部署;
  3. 鏡像網絡數據卷管理:通過頁面進行管理和操作,例如構建鏡像,增刪數據卷等;
  4. 事件日志顯示:對任何操作有記錄,并且有頁面可以顯示審計日志;
  5. 容器控制臺操作:查看容器,啟停容器,查看容器占用的性能(內存,cpu等)
  6. Swarm集群管理:可以管理swarm集群,是最大的優點;
  7. 登錄用戶管理:有完備的用戶系統,權限控制(高級功能需付費);

頁面功能如下圖:


二 、管理單臺Docker主機

本文基礎環境:

$ cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
$ uname -r 
3.10.0-957.5.1.el7.x86_64
$ docker -v
Docker version 19.03.1, build 74b1e89

部署Portiner容器

$ docker run -d -p 9000:9000 --name portainer --restart=always  -v /var/run/docker.sock:/var/run/docker.sock -v  portainer_data:/data portainer/portainer 
e2563719b606ef475a7fb691aee9e3e2f1d36f76ad28588dc8127f92c4b61473

-v /var/run/docker.sock:/var/run/docker.sock:掛載本地 /var/run/docker.socker與容器的/var/run/docker.socker連接
-v portainer_data:/data:數據持久化

配置管理用戶



選擇管理模式,由于這里是單臺Docker主機,我們選擇Local 本機即可



進入管理頁面

三、Docker API 方式管理多臺主機

Docker節點主機需開啟Docker API端口,這種方式需要重啟當前的Docker服務,但節點主機無需單獨部署Agent服務。

$ vim /usr/lib/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
........

在ExecStart啟動項添加如下內容:

 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

重啟Docker加載配置

$ systemctl daemon-reload
$ systemctl restart docker
$ ss -ntulp|grep 2375
tcp    LISTEN     0      128      :::2375                 :::*                   users:(("dockerd",pid=24991,fd=5))

部署Portainer容器

$ docker run -d   -p 9000:9000 --name portainer --restart=always -v  portainer_data:/data portainer/portainer
299854fcf045c62f6ddbae2c3d8e27ec4fed1f50efb7a80a6eed3c9b9a670ce3

選擇管理模式,添加遠程Docker主機


portainer頁面Endpoints菜單通過Docker API 添加其他Docker主機


四、Agent方式管理多臺主機

由于Docker API 方式需要重啟Docker服務,會影響現有應用運行,可以采用Agent 方式管理。

管理節點部署master

$ docker run -d -p 9000:9000 --name portainer --restart=always  -v /var/run/docker.sock:/var/run/docker.sock -v  portainer_data:/data portainer/portainer 
e2563719b606ef475a7fb691aee9e3e2f1d36f76ad28588dc8127f92c4b61473

-v /var/run/docker.sock:/var/run/docker.sock:掛載本地 /var/run/docker.socker與容器的/var/run/docker.socker連接
-v portainer_data:/data:數據持久化

節點主機部署agent

$ docker run -d -p 9001:9001 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent
299854fcf045c62f6ddbae2c3d8e27ec4fed1f50efb7a80a6eed3c9b9a670ce3

在Portainer管理頁面添加Agent主機



關注公眾號獲取視頻教程:


運維技術社
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。