Docker圖形化工具Portainer詳解


 

一、介紹

  說明:

    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

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM