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

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《C语言》 《数据结构》 《Linux》《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️


在这里插入图片描述
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

文章目录

    • 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://xiahunao.cn/news/2774603.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

PHP入门指南:进阶篇

PHP入门指南:进阶篇 PHP入门指南:进阶篇1. 面向对象编程(OOP)1.1 类和对象的基本概念1.2 构造函数和析构函数1.3 属性和方法的访问控制1.4 继承与多态 2. 错误和异常处理2.1 错误处理机制2.2 异常处理机制2.3 自定义异常类 3. PHP…

【GAMES101】Lecture 19 相机

目录 相机 视场 Field of View (FOV) 曝光(Exposure) 感光度(ISO) 光圈 快门 相机 成像可以通过我们之前学过的光栅化成像和光线追踪成像来渲染合成,也可以用相机拍摄成像 今天就来学习一下相机是如何成像的…

NeRF从入门到放弃1:原理介绍

基本概念 原始的论文中所介绍的NeRF(NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis,用神经辐射场表示场景进行视角合成),是神经辐射场以及体积渲染技术的结合,即用神经辐射场隐式地表示场…

代码随想录算法训练营第29天|491.递增子序列 * * 46.全排列 * 47.全排列 II

文章目录 491.递增子序列思路:代码 思路:优化代码: 46.全排列思路代码一:使用used数组代码二:使用path判断元素 47.全排列 II思路一:层节点和路径都是用used数组做记录思路二:层通过排序后是否重…

【第二届 Runway短视频创作大赛】——截至日期2024年03月01日

短视频创作大赛 关于AI Film Festival竞赛概况参加资格报名期间报名方法 提交要求奖品附录 关于AI Film Festival 2022年成立的AIFF是一个融合了最新AI技术于电影制作中的艺术和艺术家节日,让我们得以一窥新创意时代的风采。从众多参赛作品中…

C语言笔试题之实现C库函数 strstr()(设置标志位)

实例要求: 1、请你实现C库函数strstr()(stdio.h & string.h),请在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始);2、函数声明:int strStr(char* h…

MATLAB知识点:易错点:判断浮点数是否相等

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章 3.4.3 关系运算 下面我们再来看一个易错点&…

flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证

flask代码 from flask import Flask, request, jsonifyapp Flask(__name__)app.route("/login", methods[POST]) def login():username request.json.get("username").strip() # 用户名password request.json.get("password").strip() # 密…

林浩然的趣味解读:赫伯特·亚历山大·西蒙的跨界智慧与伟大成就

林浩然的趣味解读:赫伯特亚历山大西蒙的跨界智慧与伟大成就 Lin Haoran’s Amusing Interpretation: Herbert Alexander Simon’s Interdisciplinary Wisdom and Great Achievements 林浩然,这位机智幽默且对知识充满好奇的探索者,最近在一次…

代码随想录算法训练营第二十四天 |回溯算法基础知识,77.组合(已补充)

回溯算法理论基础(已观看) 带你学透回溯算法(理论篇)| 回溯法精讲!_哔哩哔哩_bilibili #题目分类 什么是回溯法 溯法也可以叫做回溯搜索法,它是一种搜索的方式。 在二叉树系列中,我们已经不…

2022年通信工程师初级 实务 真题

文章目录 三、第3章 接入网,接入网的功能结构,无线频段及技术四、第4章 互联网,网络操作系统的功能,IP地址五、第6章 移动通信系统,FDD、TDD 三、第3章 接入网,接入网的功能结构,无线频段及技术…

numa网卡绑定

#概念 参考:https://www.jianshu.com/p/0f3b39a125eb(opens new window) chip:芯片,一个cpu芯片上可以包含多个cpu core,比如四核,表示一个chip里4个core。 socket:芯片插槽,颗,跟…

【Spring Boot】第二篇 自动装配原来就这么简单

导航 一. 什么是自动装配?二. 如何实现自动装配?1. 配置清单在哪里?2. 自动装配实现核心点1: 从META‐INF/spring.factories路径读取配置类清单核心点2: 过滤第一次过滤: 根据EnableAutoConfiguration注解中exclude和excludeName属性第二次过滤: 通过AutoConfigurationImpor…

Java实现网上药店系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

【集合系列】LinkedHashMap 集合

LinkedHashMap集合 1. 概述2. 方法3. 遍历方式4. 代码示例5. 注意事项 其他集合类 祖父类 Map 父类 HashMap 集合类的遍历方式 具体信息请查看 API 帮助文档 1. 概述 LinkedHashMap 是 Java 中的一种特殊类型的 HashMap,它继承自 HashMap 类,并实现了…

免费:阿里云学生服务器领取申请(2024新版教程)

2024年阿里云学生服务器免费领取,先完成学生认证即可免费领取一台云服务器ECS,配置为2核2G、1M带宽、40G系统盘,在云服务器ECS实例过期之前,完成实验与认证任务,还可以免费续费6个月,阿里云百科aliyunbaike…

2023爱分析·大模型厂商全景报告|爱分析报告

01 研究范围定义 研究范围 大模型是指通过在海量数据上依托强大算力资源进行训练后能完成大量不同下游任务的模型。2023年以来,ChatGPT引爆全球大模型市场。国内众多大模型先后公测,众多互联网领军者投身大模型事业,使得大模型市场进入“百团…

Redis篇之过期淘汰策略

一、数据的过期策略 1.什么是过期策略 Redis对数据设置数据的有效时间,数据过期以后,就需要将数据从内存中删除掉。可以按照不同的规则进行删除,这种删除规则就被称之为数据的删除策略(数据过期策略)。 2.过期策略-惰…

【C语言自定义类型详解进阶】结构体(补充结构体的对齐和位段,一口气看完系列,央妈都点赞的博文)

目录 1.结构体 1.1 结构的基础知识 1.2 结构的声明 1.2.1特殊的声明(匿名结构体类型) 1.3结构体变量的定义 1.4关于匿名结构体类型的补充 1.5结构体的自引用 1.6结构体变量的初始化 2.结构体内存对齐(重点) 2.1偏移量补…

Redis篇之缓存雪崩

一、什么的缓存雪崩 缓存雪崩:在同一时间段大量的缓存key同时失效或者redis服务宕机,导致大量请求到达数据库给数据库带来巨大压力,可能导致数据库崩了。 二、应该怎么解决 1.给不同的Key的TTL添加随机值 2.利用Redis集群提高服务的可用性 3…