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

Portainer CE本地化部署与远程可视化管理Docker容器实战指南

文章目录

    • 前言
    • 1. 本地安装Docker
    • 2. 本地部署Portainer CE
    • 3. 公网远程访问本地Portainer-CE
      • 3.1 内网穿透工具安装
      • 3.2 创建远程连接公网地址
    • 4. 固定Portainer CE公网地址

前言

如果你是容器爱好者或者开发运维人员,一定对Docker不陌生。而Portainer Community Edition (CE) 则是一个强大的Docker管理和监控工具,它不仅提供了直观的用户界面,还支持广泛的API接口、全面的资源管理和出色的安全性与可扩展性。无论你是使用Docker单机环境还是复杂的Kubernetes集群,Portainer CE都能为你提供无缝管理体验。

今天就给大家分享一下如何在Ubuntu系统中使用Docker本地部署Portainer CE可视化管理工具,并通过Cpolar内网穿透实现在公网上的远程管理容器和镜像。通过Cpolar内网穿透技术,你可以在没有公网IP或复杂路由器设置的情况下,轻松实现远程访问和管理你的容器及镜像资源。接下来,让我们一起来看看具体的操作步骤吧!

image.png

【视频教程】

本地Docker部署Portainer CE可视化管理工具结合cpolar远程管理容器镜像

1. 本地安装Docker

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

安装后我们在docker容器中运行下 hello world 看一下是否安装成功。

sudo docker container run hello-world

可以看到出现了hello world,也就是说明我们已经安装docker成功,那么接下来就可以直接拉取Answer镜像了。

image-20240910145208138

2. 本地部署Portainer CE

首先拉取portainer-ce镜像,这里选择版本是latest版本。

sudo docker pull portainer/portainer-ce:latest

image.png

创建 Portainer Server 将用于存储其数据库的卷

sudo docker volume create portainer_data

下载并安装 Portainer Server 容器

sudo 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:2.21.2

image.png

Portainer Server 现已安装。您可以通过运行 来检查 Portainer Server 容器是否已启动:docker ps

image.png

现在安装已完成,您可以通过打开 Web 浏览器输入 localhost:9443 来登录您的 Portainer Server (注册登录账号)

image.png

登录后,进入到 portainer-ce首页

image.png

点击左侧 Containers,检查宿主机内所有容器,会显示所有容器列表

0c9ebce6e91982205eb3c79a08d29cb.png

选择一个容器,选择图形化展示

image.png

image.png

点击 images,查看本地宿主机内所有容器镜像

206ed950e53638f342b82c8d456ef68.png

点击 Networks,查看docker容器网络情况

image.png

点击 Host,查看宿主机内系统信息

image.png

上面在本地Linux中成功部署了Portainer-CE,并局域网访问成功。如果想在公网远程管理Portainer-CE,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节省大量的资金。

3. 公网远程访问本地Portainer-CE

3.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

3.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: portainer 注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:https://localhost:9443

  • 域名类型:随机域名

  • 地区:选择China Top

image.png

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image.png

如下图所示,成功实现使用公网地址异地远程访问本地部署的Portainer

image.png

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Portainer管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需自己购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!

4. 固定Portainer CE公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip,然后设置一个二级子域名名称,填写备注信息,点击保留。

image.png

保留成功后复制保留的二级子域名地址:

image.png

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

  • 地区: China VIP

点击更新

image.png

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image.png

最后,我们使用固定的公网地址访问 Portainer CE管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image.png

image.png

使用Docker本地部署Portainer CE并结合Cpolar内网穿透工具,不仅大大简化了管理和监控容器的过程,还提升了系统的安全性和可扩展性。无论是初学者还是资深开发运维人员,都能从中受益匪浅。赶快动手试试这个强大的组合吧!


http://www.kler.cn/a/506244.html

相关文章:

  • [Qt] 系统相关_1 | 常见事件 | 事件分发器 | 过滤器
  • 【Apache Paimon】-- 源码解读之 PaimonSparkSessionExtensions
  • 高阶数据结构之跳表
  • 【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?
  • vscode——如何让标点总是成对出现
  • 启航数据结构算法之雅舟,悠游C++秘境——单链表之美妙构筑
  • Docker PG流复制搭建实操
  • GIS大模型:三维重建与建模
  • C# .NetCore 使用 Flurl.Http 与 HttpClient 请求处理流式响应
  • 狼毒大戟中TPS新型二萜合酶的发现-文献精读99
  • vue组件学习(一)
  • 前端项目打包体积的分析和优化
  • 聊一聊 vPC Peer-gateway 网关增强功能
  • 从Web3到元宇宙:去中心化网络如何改变虚拟空间的体验
  • salesforce在opportunity的opportunity products页面增加一个按钮,可以批量删除products
  • 前端主流Web3D引擎详解大公司现Web3D业务所用引擎分析
  • UDP报文格式
  • 32单片机综合应用案例——基于GPS的车辆追踪器(三)(内附详细代码讲解!!!)
  • 【网络安全】FortiOS Authentication bypass in Node.js websocket module
  • Gtk-WARNING **: 18:50:42.615: cannot open display: