如何通过内网穿透实现公网访问Portainer管理监控Docker容器

文章目录

    • 前言
      • 1. 部署Portainer
      • 2. 本地访问Portainer
      • 3. Linux 安装cpolar
      • 4. 配置Portainer 公网访问地址
      • 5. 公网远程访问Portainer
      • 6. 固定Portainer公网地址

正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

前言

Portainer 是一个轻量级的容器管理工具,可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可视化的界面,使得用户可以更加方便地管理 Docker 容器、镜像、网络和数据卷等资源。下面介绍如何将本地Portainer 管理界面结合cpolar内网穿透工具实现远程任意浏览器访问!

远程访问的好处是可以方便地管理远程的 Docker 容器和镜像,无需登录到远程服务器进行操作。通过 Portainer 的 Web 界面,可以直观地查看和管理容器、镜像、网络等资源,还可以进行容器的启动、停止、删除等操作。此外,Portainer 还支持多用户管理和 RBAC 权限控制,可以更好地保障系统的安全性。

1. 部署Portainer

为了方便演示,本例子使用docker部署一个Portainer ,首先拉取Portainer 镜像

docker pull portainer/portainer

然后运行容器,其中: 9000端口是我们要访问的Portainer web 界面

docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer

启动后,我们输入docker ps命令,即可看到运行Portainer 的容器,状态Up表示运行正常

image-20231017152157515

2. 本地访问Portainer

容器成功运行后,我们在外部浏览器访问Linux 9000端口,即可看到Portainer 管理界面

image-20231017152459542

上面首次登录,需要设置新登陆密码,设置完成后,即可登录管理界面,看到容器列表,本地部署访问就成功了,下面安装cpolar 内网穿透工具,实现远程访问

image-20231017153005844

3. Linux 安装cpolar

上面在本地Linux中成功部署了Portainer ,并局域网访问成功,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

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

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20231016143741228

4. 配置Portainer 公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Portainer 的cpolar 公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:9000(本地访问时的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20231017154330739

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231017154435691

5. 公网远程访问Portainer

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

image-20231017154736069

6. 固定Portainer公网地址

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

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231017154849058

保留成功后复制保留成功的二级子域名的名称

image-20231017154915398

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

image-20231017154946379

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

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

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20231017155027239

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

image-20231017155715183

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问Portainer界面,提高工作效率!!

image-20231017155647733

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/238476.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10专业版系统搭建DNS解析服务

Win10专业版 纯新手,也没弄过Linux的。不喜勿喷,有问题请指出 第一天一头雾水整了几个小时没结果,第二天豁然开朗,10分钟明白了第一天的问题所在。 Win10 安卓: iOS: 搭建DNS服务器的意义: 屏蔽…

MyBatis-Plus 入门指南:安装与配置、代码生成、综合案例、主键生成策略、自动填充

目录 1.MyBatis-Plus介绍 1.1.简介 1.2.特性 1.3.结构 1.4.支持数据库 2.快速开始 3.安装与配置 4.代码生成 5.综合案例 5.1.主键生成策略 5.2.自动填充 1.MyBatis-Plus介绍 1.1.简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具&…

写点东西《 Kickstart:搭建 JS 项目的最快方式!》

写点东西《🚀 Kickstart:搭建 JS 项目的最快方式!》 如何使用它? 想象一下:你刚刚有一个新的项目创意,你对创意充满热情,并准备好编码。 但是,在实际编写代码之前,您必须…

解决jmeter响应乱码的问题

HTTP请求响应乱码 方法一:添加后置处理器BeanShell PostProcessor,写入【prev.setDataEncoding("utf-8")】 方法二:修改bin目录下的配置文件jmeter.properties,将配置修改为【sampleresult.default.encodingUTF-8】 J…

2024年如何成为技术创作KOL?| 分享抽龙年公仔

引言 2024 年已经到来,你年初的 Flag 立好了吗?今年要创作多少篇文章?要如何获得更大的影响力?如何通过创作来改变自己的职业轨道?你有没有想过,其实成为技术创作领域的一位 KOL,离你并不遥远&a…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑤

单元测试 一、任务要求 题目1:根据下列流程图编写程序实现相应处理,执行j10*x-y返回文字“j1:”和计算值,执行j(x-y)*(10⁵%7)返回文字“j2:”和计算值,执行jy*log(x10)返回文字“j3:”和计算值…

通义千问AI挑战赛赛后反思

个人理解: 初赛阶段主要聚焦在如何通过 SFT 提升基础模型的代码能力,需要选手基于最新开源的 Qwen 1.8 模型作为基础模型,上分的关键主要通过收集高质量的代码数据提升模型的在Python, JavaScript, Java, Go, C, Rust六种编程语言的代码生成…

若依框架实现排序【升序或降序】很简单

前端实现 1. 在表格上加监听函数sort-change。如下红框所示: 2. 在表行上加排序字:sort-orders,可排序字sortable。如下红框所示: 3. 添加监听函数实现。代码如下: handleSortChange(column) {this.queryParams.orderByColumn …

使用emu8086实现——循环结构程序设计

一、实验目的 1.掌握循环结构程序设计的方法; 2.掌握数据块传送程序设计的方法; 3.掌握串传送指令的应用。 二、实验内容 1、计算S12*33*4...N*(N1),直到N*(N1)项大于200为止。编写程序,计算上式的结果。 代码及注释&#…

考研经验总结——目录

文章目录 一、写作顺序二、个人情况说明三、读评论四、一些小牢骚五、一些注意事项(持续更新) 一、写作顺序 我将准备从三个阶段开始介绍吧 考研前考研中考研后(也就是现在我的这种情况) 考研前我会分为:数学、专业…

国图公考:2024山东省事业单位发布招聘公告

更多信息可以登录山东人事考试信息查看!

webpack执行流程知识点总结

webpack的运行流程 Webpack 的运行流程是一个串行的过程,从启动到结束会依次执行以下流程: 在以上过程中,Webpack 会在特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用 We…

艾瑞报告:HR数字化需关注体系化能力,红海云等标杆厂商引领一体化趋势

新全球化时代背景下,企业经营所面临的国内外环境的不确定性增强,如何从不确定性中找到确定性成了大多数企业的关注要点。近日,艾瑞咨询发布《2023中国人力资源数字化研究报告》,从数字化转型的角度切入,探讨数字化如何…

原型设计工具Axure RP结合内网穿透实现本地web页面公网访问协同办公

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令: 命令解释: 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使 用Docke…

neo4j图数据库的简单操作记录

知识图谱文件导出 首先停止运行sudo neo4j stop然后导出数据库 导出格式为: 具体命令如下sudo neo4j-admin database dump --to-path/home/ neo4j最后重启sudo neo4j start知识图谱外观修改 在网页点击节点,选中一个表情后点击,可修改其颜…

Beauty algorithm(七)瘦脸

瘦脸的实现采用局部平移法。 一、skills 前瞻 局部平移 二、目标区域定位 左脸: 关键点选择3、5点,基点30 rmax:计算两点5-3间的距离, |x-c|:图像任一点到固定基点c的距离 |m-c|:两固定点距离 右脸: 关键点选择

开发企业微信中的内嵌h5时如何开发与调试

前言: 在我们的项目中,开发企业微信内部的项目的话,分为两种,1种是直接开发企业微信的小程序,另一种则是企业微信内嵌我们的H5界面,我们这里讲一讲企业微信内嵌h5的方法与注意点。 1、开发h5项目 这点没有…

muduo网络库剖析——套接字Socket类

muduo网络库剖析——套接字Socket类 前情从muduo到my_muduo 概要socket网络编程socket编程接口介绍头文件socketbindlistenacceptaccept4connect 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库,考虑的肯定是众多…

Vue3-46-Pinia-获取全局状态变量的方式

使用说明 在 Pinia 中,获取状态变量的方式非常的简单 : 就和使用对象一样。 使用思路 : 1、导入Store;2、声明Store对象;3、使用对象。 在逻辑代码中使用 但是 Option Store 和 Setup Store 两种方式定义的全局状态变量…