Docker GUI工具-Portainer浅析

简介: Portainer是一款免费、开源的Docker的图形化管理工具,其能够提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

  Portainer是一款免费、开源的Docker的图形化管理工具,其能够提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

  Portainer具有以下优点:

       1、支持容器管理、镜像管理。

       2、轻量级,消耗资源少。

       3、基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。

       4、支持权限分配、集群。

   如果是针对中大企业规模的业务需求,则可能需要对其进行2次开发,以满足实际的维护需求。

  以下为其安装部署相关操作:

  查看Portainer相关镜像源,当然,我们也可以基于源码进行编译制作。


[administrator@JavaLangOutOfMemory luga ]% docker search portainer
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
portainer/portainer                 This Repo is now deprecated, use portainer/p…   2010                 
portainer/portainer-ce              Portainer CE - Making Docker and Kubernetes …   284                  
portainer/agent                     An agent used to manage all the resources in…   87                   
portainer/templates                 App Templates for Portainer http://portainer…   20                   
lihaixin/portainer                  docker ui                                       15                   [OK]
greenled/portainer-stack-utils      Bash scripts to deploy/undeploy stacks in a …   6                    [OK]
portainer/portainer-k8s-beta        Portainer for Kubernetes BETA                   4                    
portainer/golang-builder            Utility to build Golang binaries.               4                    [OK]
portainerci/portainer               Portainer images automatically created via P…   4                    
hassioaddons/portainer                                                              2                    
portainer/base                      Multi-stage build image to create the Portai…   2                    [OK]
hassioaddons/portainer-armv7                                                        1                    
softonic/portainer-endpoint         Allows auto register all the swarm nodes in …   1                    [OK]
thibaudlabat/portainer_32           Portainer built for 32bit Linux [ OUTDATED ]…   1                    
iconviet/portainer                                                                  0                    
helloysd/portainer                                                                  0                    
11384eb/portainer                                                                   0                    
hassioaddons/portainer-amd64                                                        0                    
portainerci/agent                   Portainer agent images automatically created…   0                    
nenadilic84/portainer                                                               0                    
rancher/portainer-agent                                                             0                    
agiper/portainer                                                                    0                    
portainer/agent-k8s-beta            Portainer for Kubernetes BETA (agent)           0                    
portainer/portainer-ee              Portainer EE - Making Docker and Kubernetes …   0                    
johnvmt/portainer-ecr-credentials   Periodically updates the credentials Portain…   0                    [OK]

       编写docker-compose.yaml文件,当然,也可以直接用Docker直接启动。


[administrator@JavaLangOutOfMemory luga ]% vi docker-compose-portainer.yaml
version: '3'
services:
  portainer:
    image: portainer/portainer:latest                             # 镜像名称
    container_name: portainer                                     # 容器名为'portainer'
    restart: always                                               # 指定容器退出后的重启策略为:始终重启
    volumes:                                                      # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./portainer/data:/data"
      - "./portainer/Portainer-CN:/public"   # 汉化
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:                              # 映射端口
      - "9000:9000"

   执行启动命令,然后进行镜像的拉取,容器的运行。


[administrator@JavaLangOutOfMemory luga ]% docker-compose -f docker-compose-portainer.yaml up -d
WARNING: Found orphan containers (luga_kafdrop_1, luga_kafka_1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Pulling portainer (portainer/portainer:latest)...
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete
717377b83d5c: Pull complete
Digest: sha256:f8c2b0a9ca640edf508a8a0830cf1963a1e0d2fd9936a64104b3f658e120b868
Status: Downloaded newer image for portainer/portainer:latest
creating 3193e4c29d16_portainer ... done
[administrator@JavaLangOutOfMemory luga ]% docker ps
CONTAINER ID   IMAGE                        COMMAND        CREATED              STATUS              PORTS                    NAMES
7131347b2e5c   portainer/portainer:latest   "/portainer"   About a minute ago   Up About a minute   0.0.0.0:9000->9000/tcp   portainer

   通过上述命令返回,发现已经成功启动,在此进行验证:


[administrator@JavaLangOutOfMemory luga ]% curl -i 192.168.1.12:9000
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=31536000
Content-Length: 23203
Content-Type: text/html; charset=utf-8
Last-Modified: Wed, 22 Jul 2020 22:47:36 GMT
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
Date: Sat, 16 Jan 2021 03:20:35 GMT
<!DOCTYPE html
><html lang="en" ng-app="portainer">
  <head>
    <meta charset="utf-8" />
    <title>Portainer</title>
    <meta name="description" content="" />
    <meta name="author" content="Portainer.io" />
    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <!-- Fav and touch icons -->
    <link rel="apple-touch-icon" sizes="180x180" href="dc4d092847be46242d8c013d1bc7c494.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="5ba13dcb526292ae707310a54e103cd1.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="f9508a64a1beb81be174e194573f7450.png" />
    <link rel="mask-icon" href="07745d55b001c85826eedd479285cdbb.svg" color="#5bbad5" />
    ... ...


       然后通过浏览器访问:http://192.168.1.12:9000

       至此,Portainer.io已部署成功,接下来对其进行各种配置操作。此窗体主要显示连接的类型,此处为本地容器管理。平台支持远程、

       首页包含Portainer管理平台所涉及的功能菜单,以及当前运行在此平台的容器、镜像、卷、网络总体以及资源概况。

       容器列表显示当前平台所有容器的运行状态以及针对容器可执行的操作命令等。包含容器的启、停,新增,监控,日志查看,容器控制台等功能。

                     

       镜像窗体主要包含镜像详细查看、删除、导入、导出等功能。

       除此之外,我们可以基于平台进行各种自定义的配置,以方便对资源集群的管理与维护。

      其实,此平台挺不错的,针对一般的公司,容器规模不够完全庞大,无论是从技术的难易程度还是从可维护、可管理性角度来说,都是一个不错的选择,毕竟,可以对其进行定制开发。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
74 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
3月前
|
存储 监控 C++
11 个必备 Docker 工具
11 个必备 Docker 工具
961 11
11 个必备 Docker 工具
|
4月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
344 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
3月前
|
存储 安全 数据中心
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具。本文探讨了 Docker 如何通过 Namespace 和 Cgroups 实现 CPU、内存、网络和存储资源的隔离,提高系统安全性和资源利用率,以及面临的挑战和应对策略。
74 1
|
4月前
|
应用服务中间件 nginx Docker
Docker Swarm、Docker Stack和Portainer的使用
Docker Swarm、Docker Stack 和 Portainer 各有其独特的功能和优势。Docker Swarm 适用于分布式服务的管理和编排,Docker Stack 便于多容器应用的定义和部署,而 Portainer 提供了直观的 UI,简化了 Docker 环境的管理。结合使用这些工具,可以大大提高容器化应用的部署和管理效率。希望本文对您理解和应用这些工具有所帮助。
258 5
|
4月前
|
存储 缓存 Kubernetes
docker的替代工具有哪些?
【10月更文挑战第28天】docker的替代工具有哪些?
463 1
|
5月前
|
运维 监控 数据可视化
Docker容器可视化管理工具 - WGCLOUD基础介绍
WGCLOUD是新一代运维监测平台,它可以监控Docker容器的各种性能数据,比如内存,cpu,Image,运行时间,运行状态,端口映射等信息
|
6月前
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
123 10
Docker容器管理工具
|
人工智能 大数据 网络安全
Docker有关GUI软件的界面显示设计
欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 有幸得到大神的邮件回复,今天突然发觉,大神应该是在自己的mac上通过ssh访问了一台OS为Ubuntu的的机器或者电脑,其中Ubuntu安装了Docker,Docker运行某个软件或者程序,然后将可视化的界面返回了mac上。
1619 0
|
2月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
288 93