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

如何使用Docker部署Dashy并无公网ip远程访问管理界面

文章目录

    • 简介
    • 1. 安装Dashy
    • 2. 安装cpolar
    • 3.配置公网访问地址
    • 4. 固定域名访问

简介

Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航页。一款功能超强大,颜值爆表的可定制专属导航页工具

结合cpolar内网工具,我们实现无需部署到公网服务器,即可实现公网访问Dashy,下面我们介绍配置方法

1. 安装Dashy

在docker拉取Dashy镜像

docker pull lissy93/dashy:latest

镜像下载后我们运行,使用后台方式启动容器,容器内部是80端口,映射到宿主机上的8080端口

docker run -id --name dashy -p 8080:80 lissy93/dashy

启动后我们打开浏览器,输入Linux 局域网ip地址加上8080端口,即可看到我们的Dashy,安装成功了

image-20230619160646933

2. 安装cpolar

上面我们在本地Linux中使用docker安装了dashy,并且本地访问ok,下面我们安装cpolar内网穿透工具,通过cpolar的http公网地址,我们可以很容易实现远程访问Dashy,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

3.配置公网访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

cpolar官网地址: https://www.cpolar.com/

登录成功后,点击左侧仪表盘的隧道管理——创建隧道:

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

点击创建

image-20230619163915855

然后打开在线隧道列表,查看刚刚创建隧道后生成的公网地址,cpolar中默认有两种访问方式,一种是http协议,还有一种是https协议

image-20230619164025847

我们选择上面http协议的公网地址,打开浏览器,访问后即可看到dashy 界面,这样一个远程访问连接就设置好了

image-20230619170844284

4. 固定域名访问

在cpolar中需升级至基础套餐或以上才支持配置固定域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

image-20230619172054931

本例保留一个名称为dashytest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置绑定到隧道中去。

image-20230619172139639

再次登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

image-20230619172220956

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为dashytest

修改完成后,点击更新

image-20230619172310287

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

image-20230619172835045

打开浏览器,我们来测试一下访问配置成功的二级子域名,同样出现了dashy界面,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。

image-20230619173007072

http://www.lryc.cn/news/266828.html

相关文章:

  • 【接口测试】如何定位BUG的产生原因
  • JavaScript 中的短路求值(if语句简洁写法--逻辑运算符||和的高级用法)
  • 普本毕业,还有逆风翻盘的机会吗?
  • spark:RDD编程(Python版)
  • 中国元宇宙论坛暨常孝元宇宙发布会即将在京举行
  • 华为认证 | 云计算方向HCIE有效期多久?实验报名费多少?
  • 动物分类识别教程+分类释义+界面展示
  • 【Java动态代理如何实现】
  • 数据库(部分函数)
  • 基于Vite+Vue3 给项目引入Axios
  • 为什么查企业的时候有的公司没有显示注册资金?
  • DataProcess-VOC数据图像和标签一起进行Resize
  • MultiValueMap
  • 山西电力市场日前价格预测【2023-12-25】
  • 【华为OD机试真题2023CD卷 JAVAJS】5G网络建设
  • OSI 七层参考模型及TCP/IP 四层模型
  • 【面向对象】对比JavaScript、Go、Ada、Python、C++、Java、PHP的访问限制。
  • 力扣(leetcode)第26题删除有序数组中的重复项(Python)
  • 【内存泄漏】内存泄漏及常见的内存泄漏检测工具介绍
  • FPGA-ZYNQ-7000 SoC在嵌入式系统中的优势
  • 如何在Vue3中实现无缝热重载:提升你的开发效率
  • 盒子 Box
  • uni-app附件下载预览 并解决打开附件时黑屏
  • 卸载了Visual Studio后,在vscode中执行npm i或npm i --force时报错,该怎么解决?
  • 渗透测试 | 信息收集常用方法合集
  • 使用 ElementUI 组件构建无边框 Window 桌面应用(WinForm/WPF)
  • JavaScript中数组的方法和函数作用域问题
  • nodejs设置x-xss-protection解决xss问题
  • C/C++不同整数类型的区别
  • 如何理解JDK、JRE、JVM区别与联系