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

Docker部署SimpleMindMap结合内网穿透实现公网访问本地思维导图

文章目录

    • 1. Docker一键部署思维导图
    • 2. 本地访问测试
    • 3. Linux安装Cpolar
    • 4. 配置公网地址
    • 5. 远程访问思维导图
    • 6. 固定Cpolar公网地址
    • 7. 固定地址访问

SimpleMindMap 是一个可私有部署的web思维导图工具。它提供了丰富的功能和特性,包含插件化架构、多种结构类型(逻辑结构图、思维导图、组织结构图等)、节点内容支持文本、图片、图标、超链接等,支持拖拽、导入导出功能、快捷键等。

cpolar是一个安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。

下面介绍在Linux以docker方式一键部署该思维导图工具,并结合cpolar内网穿透工具实现远程也可以访问,远程访问好处在于可以在任意浏览器访问思维导图工具进行设计,提高工作效率!

1. Docker一键部署思维导图

在成功安装docker服务的设备上,执行下面命令,其中,容器挂载端口为8080,restart 为设置容器自启,然后一键启动运行:

docker run -d --restart=always -p 8080:8080 shuiche/mind-map:latest

执行后等待指令运行完成,完成后输入docker ps 即可看到我们运行的SimpleMindMap 容器,访问端口为8080,本地docker部署就完成了,简单方便快捷,下面本地访问测试

image-20240124140726432

2. 本地访问测试

上面运行后,我们在外部设备浏览器上,局域网IP访问Linux 8080端口,即可看到我们部署的思维导图工具,SimpleMindMap,下面我们在Linux中安装cpolar内网穿透工具,实现远程也可以访问!

image-20240124141643746

3. Linux安装Cpolar

上面在本地Docker中成功部署了SimpleMindMap服务,并局域网访问成功,下面我们在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. 配置公网地址

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

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

点击创建

image-20240124142824173

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

image-20240124142906961

5. 远程访问思维导图

使用上面的Cpolar生成的http公网地址,在任意设备的浏览器进行访问,即可成功看到我们本地部署的思维导图工具界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !

image-20240124143029111

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:simplemaindmap.cpolar.cn),这样更显正式,便于流交协作。

6. 固定Cpolar公网地址

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

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

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

image-20240124143637060

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

image-20240124143655874

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

image-20240124143750058

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

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

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

image-20240124143825325

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

image-20240124144012209

7. 固定地址访问

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地思维导图工具进行设计,无需公网IP,无需云服务器!

image-20240124144144626

相关文章:

  • JDBC编程(数据库编程)
  • 数据库系统概念(第一周)
  • 数据结构 - 栈和队列
  • lua与C++粘合层框架
  • Clickhouse表引擎介绍
  • ARM单片机中程序在ROM空间和RAM空间的分布(分散加载文件,Scatter-Loading Description File)
  • Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
  • 产品推荐 - 基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
  • ORACLE基于归档号增量恢复
  • windows关闭copilot预览版
  • 分布式定时任务调度xxl-job
  • ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效
  • HTML—常用标签
  • Rust 语言的 async 关键字
  • Linux系统——Haproxy高性能负载均衡软件
  • AHK 中 = 和 == 等比较运算符的用法
  • Create React App 使用
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Docker下部署自己的LNMP工作环境
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Koa2 之文件上传下载
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • orm2 中文文档 3.1 模型属性
  • Shell编程
  • 编写符合Python风格的对象
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 山寨一个 Promise
  • Java总结 - String - 这篇请使劲喷我
  • kubernetes资源对象--ingress
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 选择阿里云数据库HBase版十大理由
  • # Panda3d 碰撞检测系统介绍
  • #ifdef 的技巧用法
  • #QT项目实战(天气预报)
  • (07)Hive——窗口函数详解
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .jks文件(JAVA KeyStore)
  • .libPaths()设置包加载目录
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .Net Web窗口页属性
  • .net反编译工具
  • .net下的富文本编辑器FCKeditor的配置方法
  • :not(:first-child)和:not(:last-child)的用法
  • []常用AT命令解释()
  • [Android Studio] 开发Java 程序
  • [BT]BUUCTF刷题第9天(3.27)
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C/C++]数据结构 栈和队列()
  • [C语言]——内存函数