一、介绍

  说明:

    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

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

Docker图形化工具Portainer详解的更多相关文章

  1. 树莓派安装docker并使用docker图形化工具portainer

    配置环境 系统:Raspbian 11(64位) 设备:树莓派4B 一.安装docker 1.安装 curl -fsSL https://get.docker.com -o get-docker.sh ...

  2. Docker图形化工具——Portainer

    目标搭建docker-ui 一.Docker图形化工具 docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard .DockerUI 是 Portaine ...

  3. 6、Docker图形化管理(Portainer)

    一.Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控 ...

  4. Docker 图形化页面管理工具使用

    一.Docker图形化工具 docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard .DockerUI 是 Portainer 的前身,这三个工具通过d ...

  5. Python音视频开发:消除抖音短视频Logo的图形化工具实现

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现 ...

  6. Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...

  7. Moviepy音视频开发:开发视频转gif动画或jpg图片exe图形化工具的案例

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 老猿之所以学习和研究Moviepy的使用,是因为需要一个将视频转成动画的工具,当时在网上到处搜索查找免费使用工具,结果找了很多自称免费的工具,但转完 ...

  8. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  9. IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/04/03/kaifarenyuangongju2.html 在上一篇文章IE8“开发人员工具” ...

随机推荐

  1. H3C交换机console登录配置 v7

    一.通过con口只需输入password登陆交换机. [H3C]user-interface aux 0 设置认证方式为密码验证方式 [H3C-ui-aux0] authentication-mode ...

  2. jquery ajax提交数据给后端

    大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...

  3. 【集训Day1 测试】装饰

    装饰(decorate) [题目描述] 一个图有 N 个结点,编号 1 至 N,有 M 条无向边,第 i 条边连接的两个结点是 Ai 和Bi,其中 Ai 和 Bi 是不同的结点.可能有多条边连接的是同 ...

  4. Asp.Net Core下使用swagger生成api文档

    目录 一.前期准备 二.配置Swagger 三.参考 .Net Core中有两个集成NSwag的包,分别为Swashbuckle和NSwag.两者的配置大同小异.这里以NSwag为例. 一.前期准备 ...

  5. day 22 面向对象的基础

    面向对象: 1.简述编写和执行类中的方法的流程 class Foo: #类的编写 def func(): print("我爱你") obj = Foo() #类的调用和执行 obj ...

  6. python中的random模块简析

    在Python生成随机数用random模块,下面的文章是本人自己简单总结的ython生成随机数与random模块中最常用的几个函数的关系,希望对大家有所帮助. random.random()用于生成随 ...

  7. Java线程池实现

    电脑的CPU资源是有限的,任务的处理速度与线程数量之间并不是正相关.当线程数量过多,CPU要频繁的在不同线程切换,反而会引起处理性能的下降.线程池中最大的线程数,是考虑多种因素来事先设定的,比如硬件的 ...

  8. 利用tp5开发智慧软文发布系统中遇到的一些坑

    1. PHP 计算两个时间戳之间相差的时间 假设你两个时间戳为$a,$b; 你可以用$c=$a-$b;(反正就是大的减小的),这时$c就是两个时间间隔的秒数了. 想求两个时间间隔的天数就用:$c/(6 ...

  9. netty的调优-及-献上写过注释的源码工程

    Netty能干什么? Http服务器 使用Netty可以编写一个 Http服务器, 就像tomcat那样,能接受用户发送的http请求, , 只不过没有实现Servelt规范, 但是它也能解析携带的参 ...

  10. MySQL必知必会(Select)

    SELECT prod_name FROM products; SELECT prod_id, prod_name, prod_price FROM products; SELECT * FROM p ...