一起学docker系列之十八Docker可视化工具 Portainer:简介与安装
目录
- 前言
- 1 简介
- 2 安装过程
- 2.1 创建docker容器数据卷
- 2.2 构建运行protainer容器
- 3 Portainer 软件详细说明与界面导览
- 3.1 查看本地Docker情况
- 3.2 操作功能
- 3.3 创建容器
- 3.4 部署容器
- 4 Portainer的优势
- 结语
- 参考地址
前言
Docker作为容器化解决方案的热门工具,其可视化管理变得越发重要。Portainer作为一款开源的Docker可视化管理工具,为用户提供了直观、简便的管理界面。本文将介绍Portainer的简要概述、安装方法和注意事项,以及其详细的使用说明及优势。

1 简介
Portainer是一个轻量级且易于安装的管理工具,为Docker环境提供直观的图形用户界面(GUI)。其用户友好的界面使得Docker容器、镜像、网络和数据卷的管理变得异常便捷。从监视容器状态到创建新的容器实例,Portainer提供了全面的功能,使得Docker管理变得更加直观与高效。
2 安装过程
安装Portainer的过程相对简单,首先确保已经安装了Docker引擎。接着,执行以下命令进行Portainer的安装。这组命令用于安装和运行 Portainer 容器,并设置必要的配置参数。下面是对这些命令的详细说明和解释。
2.1 创建docker容器数据卷
docker volume create portainer_data
该命令创建了一个名为 portainer_data 的 Docker 卷(Volume)。这个卷将用于持久化存储 Portainer 容器的数据,例如配置信息、日志等。这一步是为了确保数据在容器删除后不会丢失。
2.2 构建运行protainer容器
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
docker run是运行 Docker 容器的命令。-d参数表示以“后台模式”运行容器。-p 8000:8000 -p 9443:9443用于将容器的端口映射到宿主机,使得可以通过宿主机的8000和9443端口访问 Portainer 的 Web 界面。--name portainer为容器指定名称为portainer。--restart=always指定容器退出后始终自动重启。-v /var/run/docker.sock:/var/run/docker.sock将宿主机上的 Docker 守护进程的 Unix 套接字(Socket)挂载到容器内的同一位置。这样做的目的是让 Portainer 能够与宿主机上的 Docker 守护进程进行通信,从而管理 Docker 环境。-v portainer_data:/data将之前创建的portainer_data卷挂载到容器内的/data目录。这样,Portainer 将使用这个卷来存储持久化数据。portainer/portainer-ce:latest是指定要运行的容器镜像,这里使用了 Portainer 社区版(Community Edition)的最新版本。
这组命令的主要作用是创建一个名为 portainer 的 Docker 容器,该容器包含 Portainer 应用程序,并通过端口映射和卷挂载的方式使其能够方便地管理宿主机上的 Docker 环境。
需要注意的是,初次登录Portainer时,需要创建管理员账号。访问xxx:9000(具体IP地址或域名取决于部署环境),并按照提示创建管理员账号。
3 Portainer 软件详细说明与界面导览
Portainer 是一个功能强大且易于使用的 Docker 可视化管理工具,提供直观的用户界面,帮助用户管理和监控 Docker 容器、镜像、网络和数据卷。以下是 Portainer 的功能详细说明,结合软件界面进行导览。
3.1 查看本地Docker情况
登录后,在"Local"选项卡下,用户可以查看本地 Docker 环境的各项信息,类似于 docker system df 命令的功能。界面展示了总体使用情况、容器数量、镜像数量、卷数量等信息,帮助用户快速了解当前 Docker 环境的状态。

3.2 操作功能
Portainer 的左侧菜单栏提供了一系列模块,用于管理各种 Docker 资源:
- Containers(容器):显示所有容器的列表,用户可以查看容器的状态、启动、停止、删除容器等操作。
- Images(镜像):展示可用的镜像列表,允许用户搜索、拉取、移除镜像,也可创建新镜像。
- Networks(网络):管理 Docker 网络,包括查看网络列表、创建新网络、配置网络等功能。
- Volumes(卷):显示已创建的卷列表,允许用户创建、移除、管理卷等。
- Events(事件):提供 Docker 容器和服务的事件日志,包括创建、删除等活动。
- Host(主机):显示关于 Docker 主机的信息和配置,允许用户查看主机详情、设置和管理主机等。
- Settings(设置):Portainer 的配置选项,用户可以在此处更改全局设置,如用户、角色、端点等。

3.3 创建容器
通过 “Add Container” 功能,用户可以轻松创建新的容器实例。用户需要输入容器的名称、镜像名称、端口映射等配置信息,例如,创建一个名为 mynginx 的 NGINX 容器,并将容器的端口设置为 80:80。
3.4 部署容器
利用 “Deployment” 功能,用户可以快速生成所需容器的实例。这项功能允许用户在集群中批量部署容器,通过简单的配置即可实现自动化部署。
通过 Portainer 提供的直观界面和功能,用户可以方便地进行各种 Docker 资源的管理和监控。其友好的界面和丰富的功能使得 Docker 的使用变得更加简单和高效。
4 Portainer的优势
- 友好的用户界面:Portainer提供直观、用户友好的图形界面,使得Docker容器管理更加直观和便捷。
- 简化操作流程:通过可视化界面,用户能够更轻松地管理、监控和部署Docker容器,无需深入命令行。
- 统一管理平台:Portainer能够管理多个Docker节点,实现对整个Docker环境的集中管理,提高了操作的效率和便捷性。
结语
Portainer作为一款强大的Docker可视化管理工具,极大地简化了Docker容器的操作与管理。其直观的界面、丰富的功能以及易用性,使得Docker的管理变得更加高效和便捷,是管理Docker环境的绝佳选择。通过本文的介绍,希望读者能更好地了解Portainer,并充分利用其提供的功能优势,更轻松地管理Docker容器。
参考地址
Portainer: Container Management Software for Kubernetes and Docker
相关文章:
一起学docker系列之十八Docker可视化工具 Portainer:简介与安装
目录 前言1 简介2 安装过程2.1 创建docker容器数据卷2.2 构建运行protainer容器 3 Portainer 软件详细说明与界面导览3.1 查看本地Docker情况3.2 操作功能3.3 创建容器3.4 部署容器 4 Portainer的优势结语参考地址 前言 Docker作为容器化解决方案的热门工具,其可视…...
【数据结构】线段树
目录 1.概述2.代码实现2.1.聚合操作——求和2.2.聚合操作——求和、求最小值、求最大值 3.应用4.与前缀和之间的区别 更多数据结构与算法的相关知识可以查看数据结构与算法这一专栏。 1.概述 (1)线段树 (Segment Tree) 是一种二叉树形数据结构ÿ…...
王道数据结构课后代码题p175 06.已知一棵树的层次序列及每个结点的度,编写算法构造此树的孩子-兄弟链表。(c语言代码实现)
/* 此树为 A B C D E F G 孩子-兄弟链表为 A B E C F G D */ 本题代码如下 void createtree(tree* t, char a[], int degree[], int n) {// 为B数组分配内存tree* B (tree*)malloc(sizeof(tree) * n);int i 0;i…...
filter过滤器
package com.it.filter;import javax.servlet.*; import javax.servlet.annotation.WebFilter;import java.io.IOException;WebFilter(urlPatterns"/*") public class DemoFilter implements Filter {Override // 初始化的方法 只要调用一次public void init(Filte…...
MES物料的动态批次管理漫谈
在制造企业中,原辅材料占产品制造总成本基本在60%以上,特殊材料加工企业可能达到80%以上,按“2/8管理原则”管理好物料就基本做好制造企业的成本管理,这也许是很多企业向“数字化转型”的一个主要原因,希望借助数字信息…...
【爬虫逆向分析实战】某笔登录算法分析——本地替换分析法
前言 作者最近在做一个收集粉币的项目,可以用来干嘛这里就不展开了😁,需要进行登录换算token从而达到监控收集的作用,手机抓包发现他是通过APP进行计算之后再请求接口的,通过官网分析可能要比APP逆向方便多࿰…...
vue3使用动态component
使用场景: 多个组件通过component标签挂载在同一个组件中,通过触发时间进行动态切换。vue3与vue2用法不一样,这里有坑! 使用方法: 1.通过vue的defineAsyncComponent实现挂载组件 2.component中的is属性 父组件&am…...
单机游戏推荐:巨击大乱斗 GIGABASH 中文安装版
在泰坦之中称霸天下吧!《GigaBash 巨击大乱斗》是一款多人战斗擂台游戏,有着受特摄片启发的巨型怪兽,具有传奇色彩的英雄,震天动地的特别攻击,以及可以完全摧毁的擂台场景。 游戏特点 怪物大解放 多达10个独特的角…...
计算机系统启动过程
计算机系统启动过程 阅读笔记: 《计算机体系结构基础(第三版)》-- 胡伟武 第7章:计算机系统启动过程分析 系统启动的整个过程中, 计算机系统在软件的控制下由无序到有序, 所有的组成部分都由程序管理, 按照程序的执行发挥各自的功…...
DedeCms后台文章列表文档id吗?或者快速定位id编辑文章
我们在建站时有的时候发现之前的文章有错误了,要进行修改,但又不知道文章名,只知道大概的文章id,那么可以搜索到DedeCms后台文章列表文档id吗?或者快速定位文章id方便修改? 第一种方法:复制下面…...
【开发问题解决方法记录】03.dian
登录提示 ERR-1002 在应用程序 "304" 中未找到项 "ROLE_ID" 的项 ID。 一开始找错方向了,以为是代码错误,但是后来在蒋老师的提醒下在共享组件-应用程序项 中发现设的项不是ROLE_ID而是ROLEID,怪不得找不到ORZ 解决方法…...
QT之QString
QT之QString 添加容器 点击栅格布局 添加容器,进行栅格布局 布局总结:每一个模块放在一个Group中,排放完之后,进行栅格布局。多个Group进行并排时,先将各个模块进行栅格布局,然后都选中进行垂直布…...
常见的几种计算机编码格式
前言: 计算机编码是指将字符、数字和符号等信息转换为计算机可识别的二进制数的过程,正因如此,计算机才能识别中英文等各类字符。计算机中有多种编码格式用于表示和存储文本、字符和数据,实际走到最后都是二进制,本质一…...
3D旋转tab图
上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>3D旋转tab图</title><style>* {margin: 0;padding: 0;}body {height: 100vh;background: linear-gradient(to top, #29323c, #…...
openGL 三:矩阵和向量
1.使用glm数学库进行矩阵和向量的计算 2.位置坐标可以看做一个向量 3.向量的移动,缩放,旋转,都是可以通过和矩阵的计算得出 4.向量的缩放乘一个44的矩阵 5.注意事项(有些版本的glm::mat4 不是默认构建一个单位44的矩阵)…...
Socket和Http的通讯原理,遇到攻击会受到哪些影响以及如何解决攻击问题。
德迅云安全-领先云安全服务与解决方案提供商 Socket和HTTP通信原理: Socket通信原理: Socket是一种应用程序编程接口(API),用于在单个进程或多个进程之间进行通信。它提供了一种灵活的、异步的通信方式,使…...
【springboot】整合redis
1.前提条件:docker安装好了redis确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis (3) 注入 Resource StringRedisTemplate stringRedisTemplate; 对键进行操作 –o…...
回溯和分支算法
状态空间图 “图”——状态空间图 例子:农夫过河问题——“图”状态操作例子:n后问题、0-1背包问题、货郎问题(TSP) 用向量表示解,“图”由解向量扩张得到的解空间树。 ——三种图:n叉树、子集树、排序树 剪枝 不满住条件的…...
深入理解:指针变量的解引用 与 加法运算
前言 指针变量的解引用和加法运算是非常高频的考点,也是难点,因为对初学者的不友好,这就导致了各大考试都很喜欢在这里出题,通常会伴随着强制类型转换、二维数组、数组指针等一起考查大家对指针的理解。但是不要怕,也许…...
Docker 镜像构建的最佳做法
一、镜像分层 使用docker image history命令,可以看到用于在镜像中创建每个层的命令。 1、 使用docker image history命令查看创建的入门镜像中的层。 docker image history getting-started 您应该得到如下所示的输出: IMAGE CREATED…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
