Docker本地部署可编辑开源导航页并发布公网分享好友可访问

文章目录

    • 1. 使用Docker搜索镜像
    • 2. 下载镜像
    • 3. 查看镜像
    • 4. 启动容器
    • 5. 浏览器访问
    • 6. 远程访问
      • 6.1 内网穿透工具安装
      • 6.2 创建远程连接公网地址
      • 6.3 使用固定二级子域名地址远程访问

今天和大家分享如何使用Docker本地部署一个开源的简约风格网址导航页,支持五种搜索引擎,可以自由增删改网站,拖动调整网站顺序。另外还支持响应式布局、主题切换、夜间模式,可以导入或导出数据来在不同设备之间同步数据,结合cpolar内网穿透工具还能实现分享给好友远程使用,下面就来看看如何部署吧!

image-20240103154240847

image-20240103154313130

image-20240103154336541

1. 使用Docker搜索镜像

本例中使用的是Ubuntu系统,输入下方命令:

sudo docker search luode0320/web-start

显示如下图所示结果

1704268262659

2. 下载镜像

输入命令:

sudo docker pull luode0320/web-start

显示如下图所示结果

1704268347100

3. 查看镜像

输入命令:

sudo docker images

可以看到镜像已经下载好了

1704268544295

4. 启动容器

输入命令:

sudo docker run --restart=always --name web -d -p 2000:2000 luode0320/web-start:latest

1704268666342

5. 浏览器访问

在任意浏览器输入本机ip加端口号即可,本例使用地址为 127.0.0.1:2000

image-20240103160228103

6. 远程访问

这个时候我们已经成功使用Docker在本地部署了这个简洁的导航页,如果想要分享给你的好友使用,那么可以使用cpolar内网穿透工具实现公网远程访问需求。

安装好内网穿透工具后,使用它来创建公网地址即可分享给他人进行远程访问。

6.1 内网穿透工具安装

下面是安装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-20230831171159175

6.2 创建远程连接公网地址

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

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:webdh
  • 协议:http
  • 本地地址:2000
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建

5299bbbf31f359c1c8ae277e477026b

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

1704269993586

可以看到,能够正常公网远程访问。

image-20240103162050598

小结

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

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,这样分享给别人的地址就无需每天重新配置,还好看又好记。接下来我教大家如何固定http地址:

6.3 使用固定二级子域名地址远程访问

接下来保留一个固定http地址,登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义,本例使用daohang

点击保留

d8d24e7d681a0aea40ca0b6dd32f5d1

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的http隧道,点击编辑

1704270539653

修改隧道信息,将保留成功的固定http地址配置到隧道中

  • 域名类型:选择二级子域名
  • 预留的http地址:复制粘贴官网保留成功的地址,本例中为:webdh
  • 地区选择:China VIP

点击更新

d1d4b3763dcc7ebec4999c6c8c8b8cd

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为了两个固定二级子域名地址。

1704270870751

接下来与之前的操作一样,可以在其他电脑(异地)上,使用任意一个固定二级子域名地址复制到浏览器访问即可。

1704271002453

如上图所示,即为配置成功。我们现在就能使用cpolar内网穿透工具生成的固定二级子域名来将我们本地搭建的导航页分享给好友访问了,无需购买域名服务器,也不用设置路由器那么麻烦,他人可以在任意地点远程使用浏览器访问这个导航服务,轻松创建属于自己的网站导航!

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

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

相关文章

基于C++的面向对象程序设计:类与对象的深入剖析

面向对象程序设计的基本特点 面向对象程序设计的基本特点包括:抽象、封装、继承、多态。 抽象 抽象是指对具体问题或对象进行概括,抽出其公共性质并加以描述的过程。一般情况抽象分为数据抽象和行为抽象,其中数据抽象是指一个对象区别于另…

C++/数据结构:二叉搜索树的实现与应用

目录 一、二叉搜索树简介 二、二叉搜索树的结构与实现 2.1二叉树的查找与插入 2.2二叉树的删除 2.3二叉搜索树的实现 2.3.1非递归实现 2.3.2递归实现 三、二叉搜索树的k模型和kv模型 一、二叉搜索树简介 二叉搜索树又称二叉排序树,它或者是一棵空树&#xff0…

IDEA的properties默认编码是UTF-8但是不显示中文

问题描述 今天打开IDEA项目,发现messages_zh_CN.properties不显示中文了 但奇怪的是target下的文件就是展示的中文 而且我IDEA已经配置了编码格式是UTF-8了 使用nodepad打开源文件,也是展示编码格式是UTF-8 (打开target下的文件,…

硅谷仿制网易云小程序登录问题解决

引言: 尚硅谷视频中的登录拥挤问题,导致无法登录,所以,我去gitee上从新找了个别人搞好点网易云的api接口【也是比较出名的那个,不想用不行啊,我也试过很多方法都不行】 接口详解网址:网易云音乐…

python基础——池

池的介绍: 提前创建进程池,防止创建的进程数量过多导致系统性能受到影响,在系统执行任务时,系统会使用池中已经创建进程/线程,从而防止资源的浪费,创建的进程/线程可以让多个进程使用,从而降低…

TypeScript Array(九) 数组

1.TypeScript Array 数组 1.1. 描述 数组对象是使用单独的变量名来存储一系列的值。  &emsp比如,你现在有一组数据,存单独变量如下: var data1"Android"; var data2"Java"; var data3"Harmony";那如果有…

南昌市青山湖、滕王阁、洛阳路隧道FM调频广播集群通信调度系统应用案例

一、用户需求 青山湖隧道,是南昌市一条东西走向的城市主干道,隧道为双向6车道,长1070米,其中湖底暗埋段为550米,净高5.45米,两孔每孔净宽12.4米。 滕王阁隧道是南昌市沿江北大道与沿江中大道连通工程&#…

计算机网络实验二

目录 实验二 交换机的基本配置 1、实验目的 2、实验设备 (1)实验内容: (2)练习: 1.实验内容一:(交换机的配置方式) 2.实验内容二:(交换机…

云打印怎么收费?云打印需要付费吗?

随着云打印概念的火热发展,很多有打印需求的App或者个人用户都想使用易绘创云打印服务。那么易绘创云打印怎么收费?云打印需要付费吗?今天就带大家来了解一下。 云打印怎么收费?云打印需要付费吗? 很多有打印需求的小…

正则表达式 与文本三剑客(sed grep awk)

一,正则表达式 (一)正则表达式相关定义 1,正则表达式含义 REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意…

EMQX 性能调优:TCP SYN 队列与 Accept 队列

在上一篇博客(EMQX 性能调优:最大连接与文件描述符),我们深入研究了 MQTT 连接与文件描述符之间的关系,介绍了如何修改文件描述符相关的内核参数来突破默认的最大连接数量限制。 但你可能会发现,在某些情况…

Java 面向对象进阶 03 static 注意事项、重新认识main方法(黑马)

案例代码如下: 非静态的方法虚拟机会自带一个关键字,如下: 但是不能手动出来,它的类型就是当前类; 通过输出this,得到当前s1,s2 的地址; 所以在输出时会有隐藏的this,所以this所指向…

Redis -- 单线程模型

失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程,处理所有的命令请求,不是说redis服务器进场内部真的就只有一个线程,其实也有多个线程,那就是处理网络和io的线程。 R…

MBR分区转换为GPT分区

这里有一个ecs-test用于测试MBR转换为GPT 新增一块数据盘 将数据盘以MBR分区格式分区 将整块磁盘以mbr形式分区 格式化,挂载等 上传文件,方便测试(以便后续转换格式类型,防止文件丢失) 取消挂载 将MBR转换为GPT 需先下载gdisk yum instal…

前端常见的栈溢出报错

什么是栈溢出? 在前端开发中,栈溢出是指JavaScript引擎执行代码时,调用栈(call stack)变得太大,超过了浏览器或JavaScript引擎所分配的栈空间,从而导致栈溢出错误。调用栈是一种数据结构&#x…

Spring-集成Web

一、引子 前面我们在Spring集成Junit中为读者引出了Spring善于集成其它框架的优势,而Spring项目不可能仅限于小范围的某个方法的测试,终究会落脚于Web项目上。于是,我们就从这里正式进入Spring集成Web的话题。由于笔者会从原生的Java Web开发…

@Test Annotation属性- dependsOnMethods属性

目录 语法 如果test1()失败了怎么办?test2()测试会发生什么,因为它依赖于test1? 如果我们在test1()方法上不使用Test注释,但在test 2(&#xf…

【产业实践】使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通

使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通 效果图 背景介绍 当谈到目标检测算法时,YOLO(You Only Look Once)系列算法是一个备受关注的领域。YOLO通过将目标检测任务转化为一个回归问题,实现了快速且准确的目标检测。以下是YOLO的基…

B2119 删除单词后缀

网址如下: B2119 删除单词后缀 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 算是找了个操作字符串的题来做 可以说C的string类确实是好用,但是还是不够熟悉,我不清楚怎么删去string类的后面几个字符 用C的常规做法是在相应地点设\0&…

校园二手交易小程序|基于微信小程序的闲置物品交易平台设计与实现(源码+数据库+文档)

校园二手交易小程序目录 目录 基于微信小程序的闲置物品交易平台设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、商品信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕…