一、介紹
說明:
Portainer是易於使用的軟件,可為軟件開發人員和IT操作人員提供直觀的界面。
Portainer為你提供Docker環境的詳細概述,並允許你管理容器,鏡像,網絡和數據卷。
Portainer易於部署,僅需一個Docker命令即可在任何地方運行Portainer。
功能:
支持多集群管理、清晰的儀表盤顯示、內置很多應用模板。
Docker功能(堆棧、服務、容器、鏡像、網絡、數據卷、配置)增刪改查、使用狀態監控等。
集群安全加密、多節點管理、用戶角色控制、倉庫列表、系統設置。
備注:
用戶權限控制、倉庫鏡像管理、外部認證這三個擴展功能是收費的,但總體功能較為強大,且持續維護中。
類似工具還有DockerUI(單機、功能簡陋),Shipyard(功能較全、但Bug較多且早已停更),不推薦使用。
一般項目都是結合Jenkins實現快速部署,所以很多創建功能雖然比較全面,但還是用的比較少,主要用處還是監控。
二、安裝
Portainer由兩個元素組成,即Portainer服務器和Portainer代理。這兩個元素都在Docker引擎或Swarm集群中作為輕量級Docker容器運行。
由於Docker的性質,存在許多可能的部署方案,以下有三種方式選其一即可。
首先都需要下載好鏡像:
docker search portainer # 搜索
docker pull portainer/portainer # 下載
@直接運行容器方式:
單機模式,最為簡單,運行模式需要選擇local。
docker run -d \ # 后台運行容器
-p 9000:9000 \ # 默認9000端口,映射到宿主機,通過本地地址訪問
--name prtainer-test \ # 指定容器名
--restart=always \ # 設置自動啟動
-v /opt/portainer:/data \ # 保存portainer數據到宿主機
-v /var/run/docker.sock:/var/run/docker.sock \ # 單機方式必須指定
portainer/portainer
@集群創建服務方式:
集群模式,可添加多節點,功能得到擴展,較為全面。
docker service create \ --name Portainer \ # 指定服務器
--publish 9000:9000 \ # 端口映射
--constraint 'node.role == manager' \ # 限制僅在管理節點運行
--mount type=bind,src=//opt/portainer,dst=/data \ # 掛載portainer數據到宿主機
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ # 指定docker.sock
portainer/portainer \ -H unix:///var/run/docker.sock
@通過stack部署方式:
新建docker-compose.yml文件,運行部署命令即可,服務信息較為清晰。
# file: docker-compose.yml
version: '3' # docker stack deploy 必須聲明為3.0以上版本
services: portainer: # 服務名
image: portainer/portainer # 基礎鏡像
ports: # 端口映射
- 9000:9000 volumes: # 數據卷掛載
- //opt/portainer:/data - //var/run/docker.sock:/var/run/docker.sock deploy: # 部署設置
mode: replicated replicas: 1 # 單副本
placement: constraints: # 約束
- node.role == manager # docker stack deploy -c docker-compose.yml PTN
最后瀏覽localhost:9000,設置admin密碼即可:
三、功能介紹
查看Portainer中定義的所有端點的列表,按標簽/關鍵字/ ip /名稱搜索,選擇管理。
儀表盤
可以清晰看到docker服務中運行的服務數、容器數、鏡像數等等信息
應用模板
通過模板輕松部署通用應用程序,也可以將自己的自定義模板添加到Portainer模板。
堆棧管理
可以查看所有正在運行的堆棧,也可以進行簡單的添加刪除操作。
服務管理
可以添加服務,對已有服務進行更新、刪除,以及可以清晰的查看到服務歷史運行情況。
容器管理
這個是我們最常用的功能,可以快速的部署應用,也可以對已有容器進行刪除、停止、重啟等,以及查看監控容器運行情況,非常非常的便捷。
容器實時日志功能非常不錯,再也不用去服務上執行命查看了,而且還有篩選功能,非常的便捷。
可以實時監控內存使用、cpu使用、網絡使用情況,可以自行調節頻率。
鏡像管理
可以進行鏡像拉取、構建新的鏡像、鏡像的導入導出、tag增刪改、本地鏡像列表信息,同樣點擊鏡像可以查看到鏡像的詳細信息。
網絡管理
可以清晰查看docker目前使用的網絡,以及系統默認的三個網絡。
數據卷管理
可以增加、刪除、查看數據卷信息。
配置管理
可以增加、刪除、查看docker配置文件。
安全管理
可以添加安全認證,目前本人還未使用。
Swarm集群
可以顯示集群信息,也可以go to cluster visuallzer查看集群所有容器運行情況。
增加節點
需要是集群模式,可以添加節點,以實現集群管理。以下有四種連接方式,其中外部認證方式為擴展收費功能。
一般通過Docker API,但是需要修改/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
注意:
如果開啟防火牆,記得把2375加入白名單(firewall-cmd --zone=public --add-port=2375/tcp --permanent),否則會出現無法連接問題
用戶管理
用戶角色權限管理是擴展收費功能,不擴展僅能對用戶進行分組控制和是否賦予超管權限。
但是由於通常項目中都是結合Jenkins快速部署,所以默認創建者都是administrator,
但是用戶如果不分配超管權限,將無法查看docker項目信息。
綜合以上,不擴展功能時新增用戶僅是為了知道誰在使用,無其他作用。
倉庫管理
倉庫鏡像管理是收費擴展功能,不擴展此項無太大用處。
系統設置
一般不需要進行什么修改
>>> 以上出現的中文頁面只是瀏覽器的頁面翻譯功能而已,portainer目前沒有中文版。
作者:Leozhanggg
出處:https://www.cnblogs.com/leozhanggg/p/12040338.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。