当前位置: 首页 > news >正文

一起学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 用于将容器的端口映射到宿主机,使得可以通过宿主机的 80009443 端口访问 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) 是一种二叉树形数据结构&#xff…...

王道数据结构课后代码题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逆向方便多&#xff0…...

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.向量的移动&#xff0c;缩放&#xff0c;旋转&#xff0c;都是可以通过和矩阵的计算得出 4.向量的缩放乘一个44的矩阵 5.注意事项&#xff08;有些版本的glm::mat4 不是默认构建一个单位44的矩阵&#xff09…...

Socket和Http的通讯原理,遇到攻击会受到哪些影响以及如何解决攻击问题。

德迅云安全-领先云安全服务与解决方案提供商 Socket和HTTP通信原理&#xff1a; Socket通信原理&#xff1a; Socket是一种应用程序编程接口&#xff08;API&#xff09;&#xff0c;用于在单个进程或多个进程之间进行通信。它提供了一种灵活的、异步的通信方式&#xff0c;使…...

【springboot】整合redis

1.前提条件:docker安装好了redis确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis &#xff08;3&#xff09; 注入 Resource StringRedisTemplate stringRedisTemplate; 对键进行操作 –o…...

回溯和分支算法

状态空间图 “图”——状态空间图 例子&#xff1a;农夫过河问题——“图”状态操作例子&#xff1a;n后问题、0-1背包问题、货郎问题(TSP) 用向量表示解&#xff0c;“图”由解向量扩张得到的解空间树。 ——三种图&#xff1a;n叉树、子集树、排序树 ​ 剪枝 不满住条件的…...

深入理解:指针变量的解引用 与 加法运算

前言 指针变量的解引用和加法运算是非常高频的考点&#xff0c;也是难点&#xff0c;因为对初学者的不友好&#xff0c;这就导致了各大考试都很喜欢在这里出题&#xff0c;通常会伴随着强制类型转换、二维数组、数组指针等一起考查大家对指针的理解。但是不要怕&#xff0c;也许…...

Docker 镜像构建的最佳做法

一、镜像分层 使用docker image history命令&#xff0c;可以看到用于在镜像中创建每个层的命令。 1、 使用docker image history命令查看创建的入门镜像中的层。 docker image history getting-started 您应该得到如下所示的输出&#xff1a; IMAGE CREATED…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...