0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

部署 Docker 的图形化管理工具 Portainer

jf_21561199 来源:jf_21561199 作者:jf_21561199 2025-01-13 11:08 次阅读

一、Flexus 云服务器 X 实例介绍

云服务器是一种基于云计算技术的虚拟服务器,提供灵活的计算资源和存储空间。用户可以通过互联网访问和管理云服务器,无需购买和维护物理硬件。云服务器具有高可用性、可扩展性和成本效益,适用于各种应用场景,如网站托管、数据存储和大数据分析。用户可以根据需求动态调整资源配置,确保系统的高效运行和资源的最佳利用。

华为云下一代云服务器 Flexus X 实例焕新上线,新产品基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。

wKgZPGeEg5SAOONEAAE3BYFqDzM289.png

Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

wKgZO2eEg5SAfp7VAAvyr-51fqA338.gif

本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式

wKgZPGeEg5WAK5tBAADbGgbRz8w306.png

二、Flexus 云服务器 X 实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网 IP 地址和用户名,首先打开你的服务器控制台,选择重置密码

wKgZO2eEg5WAFUC_AAEht_ZSD6I676.png

勾选自动重启,点击确定即可

wKgZPGeEg5WAVZcYAAEm9L_LepM083.png

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的 VNC 方式登录、使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器(即 ssh root@192.168.48.78 命令)或者使用 Putty、Xshell 等工具登录 Linux 弹性云服务器。

我个人习惯使用 MobaXterm这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。

wKgZO2eEg5aAWn_tAAD9ADt1Woc147.png

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

wKgZPGeEg5aAds5iAAEfDVjdzPY027.png

主要需要填写优先级(默认填 1 即可)、协议端口(协议一般为 TCP 或 UDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

wKgZO2eEg5aAQpEhAAE7Ww8851Q732.png

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境

使用 apt-get 命令安装 docker 及其配置

#安装必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common#添加 Docker GPG 秘钥 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#配置仓库源 $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #更新 apt 包索引 $ sudo apt-get update#安装 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io#添加 docker 镜像源 $ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]}#重启 $ sudo systemctl daemon-reload$ sudo systemctl restart docker

测试 docker 安装是否成功

root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```

检查 docker 服务状态

root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查 docker compose 版本

root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2

三、Flexus 云服务器 X 实例部署 Portainer

3.1 Portainer 介绍

Portainer 是一个通用的容器管理平台,Portainer 的多集群和多设备支持意味着您可以在任何地方管理任何类型的环境(Docker 和 Kubernetes,在开发笔记本电脑上、在您的 DC、在云端或边缘运行),并且我们不要求您运行任何特定的 Kubernetes 发行版。 我们提供统一的用户体验,使采用混合和多云部署变得更加快速,提高用户管理其部署的效率,甚至允许您在一个管理窗格中混合使用 Docker 和 Kubernetes 端点。

•多环境支持 Portainer 支持 Docker 和 Kubernetes,能够管理任何类型的环境,无论是在本地还是在云端。

•用户友好的界面它提供了一个直观的 Web 界面,使得即使是非技术用户也能轻松上手。

•灵活性用户无需依赖特定的 Kubernetes 发行版,可以根据需要自由选择。

•安全性 Portainer 支持访问控制和安全策略,确保容器环境的安全。

•集成与扩展性它能够与现有的 CI/CD 管道和其他 DevOps 工具集成,支持自动化部署和管理。

•社区支持作为一个开源项目,Portainer 拥有活跃的社区,不断有新功能和改进被加入。

wKgZPGeEg5eAQXSpAAIzXzEC9n8392.png

Portainer 的设计目标是简化混合云和多云部署的采用过程,提高用户管理部署的效率,并允许在一个管理面板中混合使用 Docker 和 Kubernetes 端点。它提供了一个直观的 Web 界面,使得用户可以轻松地创建、管理和监控容器、容器堆栈、网络和服务。

•官网:https://www.portainer.io/

•Github:https://github.com/portainer/portainer

3.2 Portainer 部署

•系统要求

•创建 docker-compose.yml

version:"3.5"services:portainer:image:portainer/portainer-ce:2.21.1container_name:portainerrestart:alwaysports: -"8000:8000" -"9443:9443" -"9000:9000"volumes: -/var/run/docker.sock:/var/run/docker.sock -./portainer_data:/datacommand: -"--http-enabled"

•ports:配置访问端口

•volumes:配置访问卷,映射容器内部文件路径到本地

•http-enabled:用于启用 http

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d即可自动拉取 Portainer 镜像,并创建并启动一个容器。up表示启动服务,-d表示在后台执行。docker-compose down命令用于停止和清理由 docker-compose up启动的服务。

•配置安全组

在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听 9000/9443 端口,所以添加安全组为 TCP:9000/9443 协议端口。

wKgZO2eEg5eAUbM-AAA7Rejkgjs903.png

这是因为端口 9443 仅接受 HTTPS 协议,而不接受 HTTP 请求。

•访问 9443 端口时地址中使用 HTTPS 协议。https://my.portainer.url:9443/

•如果您启用了 HTTP 访问,则可以通过端口 9000 上的 HTTP 进行访问:http://my.portainer.url:9000/

•启动服务

进入项目目录,执行 docker compose up -d 启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Portainer 镜像,地址:https://hub.docker.com/r/portainer/portainer-ce

root@flexusx-c6b3:~/portainer# docker-compose up -d[+] Running 12/12✔ portainer Pulled 469.0s✔ 4127d56428a3 Pull complete 1.5s✔ ffdedde80950 Pull complete 0.8s✔ d40df14c1d7a Pull complete 463.9s✔ 8215717c7c10 Pull complete 18.8s✔ 542669febe7c Pull complete 78.5s✔ 6c27c7f45b54 Pull complete 32.7s✔ 47e858e07651 Pull complete 464.7s✔ dd1a5919c96d Pull complete 50.5s✔ b735e0aff190 Pull complete 64.5s✔ 6acf85cbc221 Pull complete 66.0s✔ 4f4fb700ef54 Pull complete 66.7s[+] Running 2/2✔ Network portainer_default Created 0.1s✔ Container portainer Started

•检查容器状态

检查 Portainer 容器状态,确保容器正常启动

root@flexusx-c6b3:~/portainer# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf0b8b629c16d portainer/portainer-ce:2.21.1 "/portainer --http-e…" About an hour ago Up About an hour 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer

•访问地址

内网:http://localhost:9000 外网:http://公网 IP:9000

•访问结果

wKgZPGeEg5eANW-PAAAvunTXgOk403.png

若出现此页面,则部署 Portainer server 成功。

3.3 Portainer 使用

服务启动后访问,可进行初始设置,第一位用户将是管理员,用户名默认为 admin,但您可以根据需要更改,设置管理员,密码密码必须至少为 12 个字符,启用或禁用统计信息收集

wKgZO2eEg5iAZeGGAABpNUP8y-M930.png

确定设置后,创建用户

首次安装 Portainer 时,如果您未在 5 分钟内登录并完成初始设置,容器内的 Portainer 服务将停止。

wKgZPGeEg5iAdT1MAABEWiZEpR0567.png

创建管理员用户后,环境向导将自动启动,该向导将帮助您开始使用 Portainer。安装过程会自动检测您的本地环境并为您进行设置,可以直接选择开始使用 Portainer。如果您想添加其他环境来管理此 Portainer 实例,请单击添加环境。

wKgZO2eEg5mAZlutAADGA4G7isA672.png

仪表板为我们提供了 Portainer 配置为与之通信的 Docker 实例的当前状态概览,如 CPU、内存信息,镜像

wKgZPGeEg5mAY8LcAAE0b8ciFaA881.png

Portainer 官方没有支持的简体中文的设置,默认英文,可以借助翻译插件实时翻译,当然也可以借助一些开源的汉化方案,如 github.com/eysp/public/,我使用了一下但是汉化成功了,但是创建不了管理员用户,所以放弃了。

#下载解压并复制到服务器 tar -zvxf public-public.tar.gzscp -r public-public root@123.60.144.170:/root/portainer/portainer_public#修改 docker-compose.yml- volume: ./portainer_public:/public

点击本地环境的 Dashboard,查看更多环境信息,这显示了我有多少个正在运行的容器,下载的镜像数量,还可以看到 Docker 实例上可用的卷和网络的数量,还会显示正在运行的堆栈数量

wKgZO2eEg5qAWQn4AADldbQYNVk045.png

左侧菜单中的 App Template,这部分可能是唯一一个不是核心 Docker 引擎直接提供的功能,它是使用从 Docker Hub 下载的容器启动常用应用程序的一种方式,支持搜索和分类查询。Portainer 默认提供约 25 种模板,模板以 JSON 格式定义的。

wKgZPGeEg5qAaUFXAAFC1lyfows689.png

Docker Stack 是 Docker Swarm 环境中用于管理一组相关服务的工具,它使得在 Swarm 集群中部署、管理和扩展一组相互关联的服务变得简单,主要用于定义和编排容器化应用的多个服务。在左侧菜单 Stacks中可以查看

wKgZO2eEg5uAfZYgAADWm9d0k4o294.png

左侧菜单中的 Contains这里,你可以启动 Docker 实例上运行的容器并与之交互,点击"容器"菜单项,就会显示 Docker 实例上正在运行和已停止的所有容器的列表,我这里运行了 2 个容器。可以进行启动、停止、重启、暂停、恢复、删除等操作

wKgZPGeEg5uASNQhAAEgT45KxLA991.png

点击任意一个容器,可以查看容器详情,比如容器 ID、容器名字、运行状态、创建时间、控制权限等

wKgZO2eEg5yAB5WEAAECfzWJz_c783.png

可以点击 add container 按钮创建容器,创建容器页面上有几个选项,应按如下方式填写,完成后,点击"部署容器",几秒钟后,运行中的容器列表就会显示新启动的容器

Name: clusterImage: russmckendrick/clusterAlways pull the image: OnPublish all exposed network ports to random host ports: On

wKgZPGeEg5yALzThAAEmeaFK-tk709.png

左侧菜单 Image是镜像,在这里可以管理、下载和上传镜像。在页面顶部,只需在框中输入 mysql,然后点击拉取镜像,就能从 Docker Hub下载一份 mysql 容器镜像

wKgZO2eEg52AANAVAAFq6CXuoyY463.png

Network中可以使用默认网桥驱动程序快速添加网络。单击"高级设置"将带你进入一个包含更多选项的页面,其中包括使用其他驱动程序、定义子网、添加标签和限制外部访问网络,也可以删除网络和检查现有网络

wKgZPGeEg52ALpvqAAFO6SujPls709.png

Volume中可以添加或删除加密卷。在添加加密卷时,你可以选择驱动程序,还可以填写传递给驱动程序的选项,这样就可以使用第三方驱动程序插件

wKgZO2eEg56ATXYiAAEjRHPRWlo197.png

Events活动页面显示过去 24 小时内的所有活动

wKgZPGeEg56AQr00AAEU_DJ8ieQ904.png

Host中显示的是 docker info命令的输出结果

wKgZO2eEg5-AMzSaAADhnKimD3s649.png

左侧功能栏还有一些设置,用户相关、环境相关、日志信息、设置等

wKgZPGeEg5-ADF22AADAK0aOTkU870.png

左上角管理员头像也可以进行设置,可以设置主题、修改密码等

wKgZO2eEg6CAe7FVAAEXYgQu5dU690.png

Portainer 的强大功能,如访问控制、安全策略和集成支持,进一步增强了其易用性,使其成为 IT 专业人员和开发人员管理复杂容器环境的理想选择。作为 Docker 玩家,可以轻松的部署一些有意思的项目,更好的管理镜像和容器,可视化的管理更加容易直观。Portainer 社区版的功能模块都熟悉了一遍,常用的操作也都看一下,但是还是有很多设置配置需要研究下,期待有简体中文的官方版本,翻译的专有名词总是很奇怪,更多有趣的设置和功能就需要自行探索了。

四、总结

Portainer 提供了一个直观且用户友好的界面,使得管理 Docker 和 Kubernetes 容器变得异常简单。它的多环境支持和灵活的配置选项,让用户能够轻松地在本地、云或边缘环境中部署和管理容器。此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,本地部署创建了 2、3 个容器同时使用也很流畅,没有延迟和卡顿现象,没有网络问题或者重启掉线问题,使用体验很好,对于普通玩家都可以轻松部署有意思的项目的,无压力。对于更大规模的部署,可能需要更高的配置,以确保流畅的性能和响应速度。

华为云服务器,以卓越的性能和稳定性著称,提供灵活的资源配置,满足不同业务需求。现在华为云服务器现正进行 828 B2B 企业节,享受限时优惠,免费试用和专属技术支持,让您的业务更上一层楼。立即行动,体验华为云的高效与便捷,助力您的企业快速成长。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图形化
    +关注

    关注

    0

    文章

    57

    浏览量

    14282
  • Docker
    +关注

    关注

    0

    文章

    498

    浏览量

    12291
  • 华为云
    +关注

    关注

    3

    文章

    2746

    浏览量

    17853
收藏 人收藏

    相关推荐

    93.093 包管理工具管理工具扩展介绍

    管理工具
    充八万
    发布于 :2023年07月21日 05:03:29

    NPM的nodejs官方包管理工具详解

    NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略
    发表于 12-25 10:46

    登录管理工具LimitLogin

    LimitLogin是一款于2005年面世的登录管理工具,由一名微软合作伙伴技术专家和一名应用程序开发顾问合力开发。LimitLogin旨在在Active Directory域中跟踪和限制并发工作站和终端用户登录。
    发表于 07-16 06:27

    Linux的进程管理工具之Supervisor

    Linux进程管理工具Supervisor
    发表于 06-12 10:58

    RQM测试管理工具的应用和功能

    RQM — 需求驱动的测试管理工具
    发表于 01-14 07:54

    飞机驾驶舱(Cockpit)Web图像服务器管理工具介绍

    1、飞机驾驶舱(Cockpit)Web图像服务器管理工具介绍云芯一号是极术社区发布的一款ARM微型服务器板卡,在“云芯一号”试用申请计划书中项目为构建边缘计算节点,边缘计算节点通常部署在离末端
    发表于 06-17 15:16

    基于Web的集群管理工具CWMS

    针对目前集群管理工具中没有实现单一入口或者仅提供命令行交互方式等问题,设计并实现了基于Web的集群管理工具CWMS。分析集群管理系统的体系结构,对集中式体系结构加以改进
    发表于 04-15 09:29 13次下载

    CANopen网络管理工具 V1.18

    CANopen网络管理工具 V1.18 网络管理工具
    发表于 11-15 17:12 75次下载

    目前接口管理工具有哪些_接口管理工具作用是什么

    接口文档管理工具是一个在线API文档系统,致力于快速解决团队内部接口文档的编写,和减少团队协作开发的沟通成本。作为一个后端程序员,和前端对接时总是需要写冗杂繁琐的接口文档,不仅效率低且沟通成本也高
    发表于 01-04 16:00 8719次阅读

    常见MySQL数据库管理工具的介绍

    最初MySQL本身没有提供非常方便的图形管理工具,日常的开发和维护均在类似DOS窗口中,用命令行进行数据库的操作。所以对于开发和测试同学来说,上手略微有点困难,增加了学习成本。 本文详细给出了几款常见MySQL数据库管理工具
    的头像 发表于 03-29 13:55 3490次阅读
    常见MySQL数据库<b class='flag-5'>管理工具</b>的介绍

    使用 Portainer 进行 Docker 可视管理

    Docker 的使用效率和便捷性,我们可以使用一些可视化工具管理 Docker 容器和镜像,例如 Portainer
    的头像 发表于 08-22 21:16 688次阅读
    使用 <b class='flag-5'>Portainer</b> 进行 <b class='flag-5'>Docker</b> 可视<b class='flag-5'>化</b><b class='flag-5'>管理</b>

    华为云 Flexus 云服务器 X 实例之 openEuler 系统部署 Docker Compose 管理工具 Dockge

    docker-compose.yaml 部署文件时,Dockge 以其精美的设计和易用性脱颖而出,成为不可或缺的管理工具。利用华为云 Flexus 云服务器 X 实例的强大性能,在 openEuler 系统上
    的头像 发表于 01-08 11:41 399次阅读
    华为云 Flexus 云服务器 X 实例之 openEuler 系统<b class='flag-5'>部署</b> <b class='flag-5'>Docker</b> Compose <b class='flag-5'>管理工具</b> Dockge

    Flexus 云服务器 X 实例安装 Docker 管理工具 Portainer

    。在此强大平台上部署Portainer CE 这样的容器管理工具,不仅能够极大地简化 Docker 环境的管理流程,还能进一步提升运维效
    的头像 发表于 01-13 18:46 621次阅读
    Flexus 云服务器 X 实例安装 <b class='flag-5'>Docker</b> <b class='flag-5'>管理工具</b> <b class='flag-5'>Portainer</b>

    hyper管理器,Hyper管理器:管理工具使用指南

    。    Hyper管理器:管理工具使用指南    Hyper-V管理器是Windows系统中用于管理和配置Hyper-V虚拟环境的强大
    的头像 发表于 02-08 09:57 356次阅读
    hyper<b class='flag-5'>管理</b>器,Hyper<b class='flag-5'>管理</b>器:<b class='flag-5'>管理工具</b>使用指南

    Portainer的安装与使用

    Portainer 是一个开源的 Docker 和 Kubernetes 管理工具,提供了一个直观的 Web 界面,用于简化容器、镜像、网络、卷等资源的管理
    的头像 发表于 03-18 16:48 136次阅读
    <b class='flag-5'>Portainer</b>的安装与使用