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 # 下载
Docker图形化工具Portainer详解 - 图1

  @直接运行容器方式:

    单机模式,最为简单,运行模式需要选择local

  1. docker run -d \ # 后台运行容器
  2.  -p 9000:9000 \ # 默认9000端口,映射到宿主机,通过本地地址访问
  3.  --name prtainer-test \  # 指定容器名
  4.  --restart=always \ # 设置自动启动
  5. -v /opt/portainer:/data \ # 保存portainer数据到宿主机
  6. -v /var/run/docker.sock:/var/run/docker.sock \ # 单机方式必须指定
  7.  portainer/portainer

  @集群创建服务方式:

    集群模式,可添加多节点,功能得到扩展,较为全面。

  1. docker service create \
  2.  --name Portainer \ # 指定服务器
  3.  --publish 9000:9000 \ # 端口映射
  4.  --constraint 'node.role == manager' \  # 限制仅在管理节点运行
  5.  --mount type=bind,src=//opt/portainer,dst=/data \ # 挂载portainer数据到宿主机
  6.  --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ # 指定docker.sock
  7.  portainer/portainer \
  8.  -H unix:///var/run/docker.sock

  @通过stack部署方式:

    新建docker-compose.yml文件,运行部署命令即可,服务信息较为清晰。

  1. # file: docker-compose.yml
  2. version: '3' # docker stack deploy 必须声明为3.0以上版本
  3. services:
  4. portainer:
  5. image: portainer/portainer
  6. command: -H unix:///var/run/docker.sock
  7. restart: always
  8. ports:
  9. - 9001:9000
  10. - 8000:8000
  11. volumes:
  12. - /var/run/docker.sock:/var/run/docker.sock
  13. - portainer_data:/data
  14. volumes:
  15. portainer_data:
  16. driver: local
  17. # docker stack deploy -c docker-compose.yml PTN

  最后浏览localhost:9001,设置admin密码即可:

Docker图形化工具Portainer详解 - 图2


三、功能介绍

  查看Portainer中定义的所有端点的列表,按标签/关键字/ ip /名称搜索,选择管理。
Docker图形化工具Portainer详解 - 图3

  仪表盘

  可以清晰看到docker服务中运行的服务数、容器数、镜像数等等信息

  应用模板

  通过模板轻松部署通用应用程序,也可以将自己的自定义模板添加到Portainer模板。
Docker图形化工具Portainer详解 - 图4

  堆栈管理

  可以查看所有正在运行的堆栈,也可以进行简单的添加删除操作。
Docker图形化工具Portainer详解 - 图5

  服务管理

   可以添加服务,对已有服务进行更新、删除,以及可以清晰的查看到服务历史运行情况。
 Docker图形化工具Portainer详解 - 图6

  容器管理

  这个是我们最常用的功能,可以快速的部署应用,也可以对已有容器进行删除、停止、重启等,以及查看监控容器运行情况,非常非常的便捷。
Docker图形化工具Portainer详解 - 图7
容器实时日志功能非常不错,再也不用去服务上执行命查看了,而且还有筛选功能,非常的便捷。
Docker图形化工具Portainer详解 - 图8
可以实时监控内存使用、cpu使用、网络使用情况,可以自行调节频率。
  Docker图形化工具Portainer详解 - 图9

  镜像管理

  可以进行镜像拉取、构建新的镜像、镜像的导入导出、tag增删改、本地镜像列表信息,同样点击镜像可以查看到镜像的详细信息。
Docker图形化工具Portainer详解 - 图10

  网络管理

  可以清晰查看docker目前使用的网络,以及系统默认的三个网络。
  Docker图形化工具Portainer详解 - 图11

   数据卷管理

   可以增加、删除、查看数据卷信息。
Docker图形化工具Portainer详解 - 图12

  配置管理

   可以增加、删除、查看docker配置文件。
Docker图形化工具Portainer详解 - 图13

  安全管理

   可以添加安全认证,目前本人还未使用。
Docker图形化工具Portainer详解 - 图14

  Swarm集群

   可以显示集群信息,也可以go to cluster visuallzer查看集群所有容器运行情况。
  Docker图形化工具Portainer详解 - 图15

  增加节点

   需要是集群模式,可以添加节点,以实现集群管理。以下有四种连接方式,其中外部认证方式为扩展收费功能。

  一般通过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),否则会出现无法连接问题**

Docker图形化工具Portainer详解 - 图16
Docker图形化工具Portainer详解 - 图17

用户管理

   用户角色权限管理是扩展收费功能,不扩展仅能对用户进行分组控制和是否赋予超管权限。
   但是由于通常项目中都是结合Jenkins快速部署,所以默认创建者都是administrator,
   但是用户如果不分配超管权限,将无法查看docker项目信息。
   综合以上,不扩展功能时新增用户仅是为了知道谁在使用,无其他作用。
Docker图形化工具Portainer详解 - 图18

  仓库管理

   仓库镜像管理是收费扩展功能,不扩展此项无太大用处。
Docker图形化工具Portainer详解 - 图19

系统设置

   一般不需要进行什么修改
Docker图形化工具Portainer详解 - 图20

原文链接:https://www.cnblogs.com/leozhanggg/p/12040338.html