Linux系统使用Docker部署Portainer结合内网穿透实现远程管理容器和镜像

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

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

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

前言

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

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

Docker 图形化工具 Portainer 本地安装部署与远程访问

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

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

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

相关文章

Tickeys for Mac:让每一次敲击都充满乐趣,提升打字体验新高度!

Tickeys for Mac 是一款为 macOS 设计的虚拟键盘音效生成器。它通过模拟机械键盘的声音,为打字和输入操作增添了音效反馈,让用户在使用电脑时感受到更加真实的键盘反馈体验。用户可以根据个人喜好选择不同类型的键盘声音和音效设置,让键盘操作…

【Python基础篇】那些年错过的Python

随着OpenAI的发展,Python的重要性不言而喻。不知你是否和我一样,不知道曾经说过多少次我要学Python,都没有执行起来… 近期我在知识库中更新了一波Python教程,选取了这一篇分享给大家。 前言 很多时候我们需要让程序变成交互性的…

实现DevOps需要什么?

实现DevOps需要什么? 硬性要求:工具上的准备 上文提到了工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下: 代码管理(SCM):GitHub、GitLab、BitBucket、SubV…

Notepad++:格式化json字符串(带转义)

目录 一、效果呈现 二、去除json字符串转义 三、格式化json字符串 一、效果呈现 格式化前 带字符串转义,带unicode编码字符 格式化后 二、去除json字符串转义 方法:采用Notepad的普通替换 第一:\"替换为" 第二:\\…

函数模板详解

大家好: 衷心希望各位点赞。 您的问题请留在评论区,我会及时回答。 一、函数模板 C另一种编程思想为:泛型编程,主要利用的技术就是模板。 C提供两种模板机制:函数模板、类模板 函数模板语法 函数模板作用&#xff…

Python6:Socket编程初步学习笔记

Socket协议概要 创建socket的时候,需要一些选项来说明本次使用协议具体是什么,常用的两个: 由此产生的不同组合: 但目前TCP(IPV4)是主流,SOCK_STREAMAF_INET 创建和使用Socket socket模块中有socket类&#xff1a…

QMT量化策略实盘(一)下单函数passorder

第一篇量化实盘的分享,从一定绕不开的综合下单函数passorder说起。 用于股票、期货、期权等下单和新股、新债申购、融资融券等交易操作。(对比ptrade就不支持期货交易) 这个函数功能很全,同时参数也比较多,在初次使用…

方格分割(蓝桥杯)

文章目录 方格分割题目描述答案:509思路dfs 方格分割 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。 如下就是三…

【vue3学习笔记(一)】vue3简介;使用vue-cli创建工程;使用vite创建工程;分析工程结构;安装开发者工具

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 对应课程136-140节 课程 P136节 《vue3简介》笔记 课程 P137节 《使用vue-cli创建工程》笔记 官方文档: https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create官方文档地址 查看vue-cli版本&#x…

git配置密钥

要配置 Git 密钥,可以按照以下步骤进行操作: 1.生成密钥:首先,在终端或命令提示符中运行以下命令生成密钥对: ssh-keygen -t rsa -b 4096 -C "dengweng-pulse.net"这将生成一个 RSA 密钥对,其中…

课堂行为动作识别数据集

一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片,没有网络爬虫滥竽充数的图片,可直接用来训练。以上图片均一一手工标注,标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…

http模块—http请求练习

题目要求:搭建如下http服务: 1.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求的url路径地址是/login。响应体结果是登录页面 2.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求…

【FIneBI可视化工具的使用】

前言: 💞💞大家好,书生♡,今天主要和大家分享一下可视化的工具FineBI的详细使用,希望对大家有所帮助。感谢大家关注点赞。 💞💞前路漫漫,希望大家坚持下去,不忘初心&…

【解决】CameraPath3 事件回调异常

开发平台:Unity 2021.3.7f1c1 编程平台:Visual Studio 2022 编程语言:CSharp 6.0 三方工具:CameraPath3   工具简述 在 2019年官方停止版本维护,不再支持 URP 等新版本。而实际业务要求继续使用该开发工具。   问题…

Java代码基础算法练习-求一个三位数的各位数字之和-2024.03.27

任务描述&#xff1a; 输入一个正整数n&#xff08;取值范围&#xff1a;100<n<1000&#xff09;&#xff0c;然后输出每位数字之和 任务要求&#xff1a; 代码示例&#xff1a; package M0317_0331;import java.util.Scanner;public class m240327 {public static voi…

瓦楞板一体化污水处理设备怎么选型

瓦楞板一体化污水处理设备的选型是一个重要而复杂的过程。在选择适合的设备前&#xff0c;我们需要考虑以下几个因素&#xff1a;污水性质、处理效果、处理能力、设备性能和成本等。本文将从这几个方面为您介绍瓦楞板一体化污水处理设备的选型方法。 首先&#xff0c;污水性质是…

计算机网络基础——网络安全/ 网络通信介质

chapter3 网络安全与管理 1. 网络安全威胁 网络安全&#xff1a;目的就是要让网络入侵者进不了网络系统&#xff0c;及时强行攻入网络&#xff0c;也拿不走信息&#xff0c;改不了数据&#xff0c;看不懂信息。 事发后能审查追踪到破坏者&#xff0c;让破坏者跑不掉。 网络…

Django 评论楼创建

Django 评论楼创建 【零】最终效果预览 【一】介绍 &#xff08;1&#xff09;情况说明 在Django模型层中有这么个字段 parent models.ForeignKey(toself, on_deletemodels.CASCADE, verbose_name"父评论ID", nullTrue, blankTrue)这个字段是一对多的外键字段 其…

07、JS实现:用回溯法实现数组全排列的算法(一步一步剖析,很详细)

回溯法实现数组全排列的算法 Ⅰ、回溯法实现数组全排列&#xff1a;1、题目描述&#xff1a;2、解题思路&#xff1a;3、实现代码&#xff1a; Ⅱ、小结&#xff1a; Ⅰ、回溯法实现数组全排列&#xff1a; 1、题目描述&#xff1a; 给定⼀个 没有重复 数字的序列&#xff0c;…

flowable-ui后台显式非中文

把flowable-ui的war包发布后&#xff0c;后台界面显示的是非中文 用的是6.7.2版本&#xff0c;经过了解该版本是有国际化配置文件的&#xff0c;支持中文 猜测可能是浏览器语言导致未显示中文&#xff0c;在控制台输入navigator.language&#xff0c;查看到果然是英文 解决方案…