如何使用Docker本地部署一个开源网址导航页并分享好友公网使用

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

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

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

博客目录

    • 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 内网穿透工具生成的固定二级子域名来将我们本地搭建的导航页分享给好友访问了,无需购买域名服务器,也不用设置路由器那么麻烦,他人可以在任意地点远程使用浏览器访问这个导航服务,轻松创建属于自己的网站导航!

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

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

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

img

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

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

相关文章

linux 浅练一下哈

1.新建用户test不建家目录不允许登录,uid为10086_____________________ useradd -u 10086 -M -s /sbin/nologin 2.将 /opt 文件夹中所有文件的属主,属组改成,test_______________________ chown -R test.test /opt chown -R …

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩mask: true,

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩 官网测试示例: 1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 测试代码: export function showDraw(isFlyTo) { removeLayer() const geoJsonLayer new mars3d.layer.GeoJsonLaye…

DS18B20温度传感器(STM32F103C8T6)串口发送到电脑

DS18B20温度传感器(STM32F103C8T6)串口发送到电脑 电路: 单片机串口DS18B20 https://item.taobao.com/item.htm?id753346246509&skuId5192123304733 代码: 链接:https://pan.baidu.com/s/1kW9866jJ9AQYM4YLc1k…

前端JS加密对抗由浅入深-1

前言: 本文主要讲解,针对前端加密数据传输站点,如何进行动态调试以获取加密算法、秘钥,本次实验不涉及漏洞挖掘,仅为学习演示,环境为本地搭建环境 此次站点加密方式为AES加密方式,现如今越来越…

MySQL数据库主从复制和读写分离

目录 一、MySQL主从复制和读写分离理论 (一)读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.读写分离原理 5.常见MySQL 读写分离 (1)基于程序代码内部实现 (2)基于中间代理…

React基础应用及常用代码

目录 基础知识 babel.config.js js,html,css,Vue,react,angular,nodejs,webpack,less,ES6,commonjs等的关系 ECMAScript 6(ES6) let、const、var 的区别 Webpack、npm、node关系 props和state区别 通用框架类 ES 6 export React React.Fragm…

数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)

**ERROR: (TA-152): A latency path from the ‘Fall’ edge of the master clock at source pin… Error Code TA-152 在数字IC后端实现innovus中我们经常会看到这类Error,具体信息如下所示。 Error Message **ERROR: (TA-152): A latency path from the ‘Fa…

面试题:谈谈分布式一致性机制 ?

文章目录 前言基本原则与理论2PC3PCPaxosRaftGossipNWR 机制Quorum 机制Lease机制 前言 分布式中一致性是非常重要的,分为弱一致性和强一致性。 现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起&…

1.4 day4 IO进程线程

使用两个子进程进行文件拷贝&#xff0c;父进程进行资源回收 #include <myhead.h> int main(int argc, const char *argv[]) {//创建一个文件描述符并以只读的方式打开int fd-1;if((fdopen("./test.bmp",O_RDONLY))-1){perror("open error");return…

Pandas教程(五)—— 数据分组聚合及批处理

1.GroupBy机制 groupby分为三个步骤&#xff1a; 拆分-应用-合并 拆分操作是在特定轴向上进行的&#xff0c;dataframe可以在 行方向&#xff08;axis0&#xff09;/ 列方向 上分组分组后会产生groupby对象&#xff0c;我们就可以将函数应用在groupby对象的各个组中&#x…

Python基础入门第八课笔记(自定义函数 lambda)

什么时候用lambda表达式&#xff1f; 当函数有一个返回值&#xff0c;且只有一句代码&#xff0c;可以用lambda简写。 2、lanbda语法 lambda 形参 : 表达式 注意&#xff1a; 1、形参可以省略&#xff0c;函数的参数在lambda中也适用 2、lambda函数能接收任何数量的参数但只能…

LeetCode(38)外观数列⭐⭐

「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列&#xff1a; countAndSay(1) "1"countAndSay(n) 是对 countAndSay(n-1) 的描述&#xff0c;然后转换成另一…