群晖NAS使用Docker本地部署网页版Ubuntu系统并实现无公网IP远程访问

news2024/9/21 15:53:55

文章目录

    • 前言
    • 1. 下载Docker-Webtop镜像
    • 2. 运行Docker-Webtop镜像
    • 3. 本地访问网页版Linux系统
    • 4. 群晖NAS安装Cpolar工具
    • 5. 配置异地访问Linux系统
    • 6. 异地远程访问Linux系统
    • 7. 固定异地访问的公网地址

前言

本文旨在详细介绍如何在群晖NAS部署docker-webtop,并结合cpolar内网穿透实现远程访问网页版Linux系统的步骤和方法。

docker-webtop是一个基于Docker的Web桌面应用,它允许用户通过浏览器远程访问和操作一个完整的Linux图形化环境。这种解决方案非常适合那些需要在不同设备之间无缝切换工作环境的用户。然而,由于网络环境的限制,用户可能无法直接远程访问部署在私有云环境中的docker-webtop。

为了解决这个问题,我们可以利用cpolar这一强大的内网穿透工具。cpolar通过创建一个安全的隧道,将本地网络中的服务暴露到公网上,从而允许用户从任何位置远程访问这些服务。通过结合群晖、Docker、docker-webtop和cpolar,我们可以实现一个完整的远程访问解决方案:在群晖设备上使用Docker部署docker-webtop,并通过cpolar将docker-webtop的Web服务暴露到公网上,从而实现远程访问。

1. 下载Docker-Webtop镜像

本例群晖版本由于无法直接在群晖控制面板docker界面搜索下载docker镜像,所以采用命令行方式进行镜像下载,

首先开启群晖ssh连接,然后使用工具通过ssh连接上群晖,然后执行下面命令拉取镜像

sudo docker pull lscr.io/linuxserver/webtop:ubuntu-kde

上面命令中,ubuntu-kde 表示运行一个ubuntu系统的Linux,如果需要运行其他的系统,可以看一下网上文档:https://gitcode.com/linuxserver/docker-webtop/overview, 拉取的镜像比较大,执行后耐心等待拉取完成即可.

image-20240515173116334

然后返回群晖管理面板,可以看到已经下载好了镜像,下面运行该镜像

image-20240515174130546

2. 运行Docker-Webtop镜像

选中镜像,点击运行,进入设置界面

image-20240516110543627

容器名称可以自己设置,如果需要设置自启动,勾选"启用自动重新启动即可",首次安装,建议不要设置自启动,设置完成然后点击下一步

image-20240516111011981

然后设置对外访问端口,3000表示http访问,3001表示https访问端口,这里设置对应容器内的端口即可,设置完成点击下一步

image-20240516111130845

然后再点击完成,点击后容器自动运行了,下面进行局域网内访问

image-20240516111241524

3. 本地访问网页版Linux系统

上面我们设置运行Docker-Webtop容器后,进入容器页面查看状态,Up状态表示正常

image-20240516111542594

然后通过群晖局域网IP加3000端口在浏览器上进行访问,即可成功访问到了我们Linux界面,本地访问就成功了,下面我们配置远程访问,让我们在异地网络也可以访问这个Linux,首先安装cpolar内网穿透工具.

image-20240516111801274

4. 群晖NAS安装Cpolar工具

cpolar 提供了群晖安装的套件,点击下面Cpolar群晖套件下载地址,下载相应版本的群晖Cpolar套件,如果找不到对应的型号,可以选择相近版本型号套件

https://www.cpolar.com/synology-cpolar-suite,

20221222170135

打开群晖套件中心,点击右上角的手动安装按钮。

image-20240111165335915

选择我们本地下载好的cpolar套件安装包,然后点击下一步

image-20240111165603922

点击同意按钮,然后点击下一步

image-20240111165702028

最后点击完成即可。

image-20240111165721365

安装完成后,在外部浏览器,我们通过群晖的局域网ip地址9200端口访问Cpolar的Web管理界面,然后输入Cpolar邮箱账号与密码进行登录,如无账号可去官网注册:
cpolar官网地址:https://www.cpolar.com/

image-20230612165349594

5. 配置异地访问Linux系统

在cpolar管理界面,点击左侧仪表盘的隧道管理——创建隧道,创建一个的公网地址隧道!

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

点击创建

image-20240516113055125

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,上面我们设置的是3000端口,所以选择http访问即可

image-20240516113131891

6. 异地远程访问Linux系统

使用上面cpolar生成的http地址,在任意设备浏览器输入访问,即可看到Linux Ubuntu系统界面,这样一个远程访问的地址域名就设置好了,无需公网IP,无需云服务器,实现了远程异地访问该Linux 网页版Ubuntu系统 .

image-20240516113550877

小结

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

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

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

7. 固定异地访问的公网地址

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

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

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

image-20240516114032672

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

image-20240516114804971

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

image-20240516114134144

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

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

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

image-20240516114213484

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

image-20240516114239088

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了!

image-20240516114556464

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

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

相关文章

【hot100-java】【搜索旋转排序数组】

R8-二分查找篇 等等,不是?O(logn)?那岂不是一次遍历数组都超时了hh. 二分查找分类 class Solution {public int search(int[] nums, int target) {if (numsnull||nums.length0){return -1;}int start0;int endnums.length-1;int mid;while …

1--SpringBoot外卖项目介绍及环境搭建 详解

目录 软件开发整体流程 软件开发流程 角色分工 软件环境 苍穹外卖项目介绍 项目介绍 产品原型 技术选型 开发环境搭建 前端环境搭建 后端环境搭建 完善登录功能 导入接口文档 Swagger 介绍 使用方式 常用注解 软件开发整体流程 软件开发流程 需求分析&#x…

1、等保测评介绍

数据来源:等保测评基础知识学习(1.02.0)2024最新版_哔哩哔哩_bilibili 等级保护的定义: 对国家秘密信息、法人或其他组织及公民专有信息以及公开信息,按照其重要程度对信息系统实施分等级安全保护。这包括对使用的安全产品进行等级管理&…

Vue 项目实战4-无缝轮播图

养成好习惯,先赞后看,感谢对作者大大的支持 一、话不多说,直接上效果图: 完整视频展示链接如下: https://item.taobao.com/item.htm?ftt&id833405684191 二、实现思路 HTML结构 文档头部设置:定义…

TAPD 卓越版

一、版本概述 TAPD 卓越版提供 项目协同生态管理 解决方案,适合小团队轻量协作。TAPD 卓越版在专业版基础上增加任务、甘特图、协公协同模块三大应用,同时项目数上限增加至200个,能够帮助团队更高效协作、快速沟通,实时管理工作进…

京东方数字化研发部部长吕志超受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 京东方科技集团数字化研发部部长吕志超先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“项目经理的领导力破局之路”。大会将于10月26-27日在北京举办,主题为&am…

力扣之182.查找重复的电子邮箱

文章目录 1. 182.查找重复的电子邮箱1.1 题干1.2 准备数据1.3 解法1.4 结果截图 1. 182.查找重复的电子邮箱 1.1 题干 表: Person -------------------- | Column Name | Type | -------------------- | id | int | | email | varchar | -------------------- id 是该表的主…

2024华为杯研赛D题分析

2024华为杯研究生数学建模D题分析如下,完整版本在文末名片

常见排序(C语言版)

1.排序的概念及其应用 1.1排序的概念 排序:​ 在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串资料依照特定排序方式排列的算法。 稳定性:假定在待排序的记录序列中&#xff…

Linux基础3-基础工具4(git),冯诺依曼计算机体系结构

上篇文章:Linux基础3-基础工具3(make,makefile,gdb详解)-CSDN博客 本章重点: 1. git简易使用 2. 冯诺依曼计算机体系结构介绍 目录 一. git使用 1.1 什么是git? 1.2 git发展史 1.3 git创建仓库 1.4 git命令操作 二. 冯诺依…

基于Pytorch框架的深度学习MODNet网络精细人像分割系统源码

第一步:准备数据 人像精细分割数据,可分割出头发丝,为PPM-100开源数据 第二步:搭建模型 MODNet网络结构如图所示,主要包含3个部分:semantic estimation(S分支)、detail prediction…

pyqt瀑布流布局

最近研究瀑布流布局,发现都是收费的,所以只能自己写算法写布局。 所以啥都不说直接上代码 ImageLabel 参考 pyqt5 QLabel显示网络图片或qfluentwidgets官网 代码 import math import sys from pathlib import Pathfrom PyQt5.Qt import * from qflue…

传统美业通过小魔推短视频矩阵系统,实现逆势增长?

许多美甲店在经营过程中常常陷入一个误区:他们认为自己缺少的是客户,但实际上,他们真正缺少的是有效的营销策略,美甲店经营者普遍面临的两大难题包括: 1. 高客户流失率: 据研究显示,约70%的顾…

如何成立一家自己的等级保护测评机构?需要哪些条件?有哪些要求?

给大家的福利,点击下方蓝色字 即可免费领取↓↓↓ 🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 前言 各省、自治区、直辖市公安厅、局网络安全保卫总队,新疆生产建设兵团公安局网络安…

SpringBoot学习指南

文章目录 一、为什么要学习SpringBoot二、SpringBoot介绍2.1 约定优于配置2.2 SpringBoot中的约定三、SpringBoot快速入门3.1 快速构建SpringBoot3.1.1 选择构建项目的类型3.1.2 项目的描述3.1.3 指定SpringBoot版本和需要的依赖3.1.4 导入依赖3.1.5 编写了Controller3.1.6 测试…

机器翻译之Bahdanau注意力机制在Seq2Seq中的应用

目录 1.创建 添加了Bahdanau的decoder 2. 训练 3.定义评估函数BLEU 4.预测 5.知识点个人理解 1.创建 添加了Bahdanau的decoder import torch from torch import nn import dltools#定义注意力解码器基类 class AttentionDecoder(dltools.Decoder): #继承dltools.Decoder写…

为什么年轻人都热衷找搭子,而不是找对象?

在繁华的都市中,有一个名叫晓悦的年轻人。晓悦每天穿梭于忙碌的工作和快节奏的生活之间,渐渐地,她发现身边的朋友们都开始找起了 “搭子”。 有一天,晓悦结束了一天疲惫的工作,坐在咖啡店里,看着窗外匆匆而…

在SpringBoot项目中利用Redission实现布隆过滤器(布隆过滤器的应用场景、布隆过滤器误判的情况、与位图相关的操作)

文章目录 1. 布隆过滤器的应用场景2. 在SpringBoot项目利用Redission实现布隆过滤器3. 布隆过滤器误判的情况4. 与位图相关的操作5. 可能遇到的问题(Redission是如何记录布隆过滤器的配置参数的)5.1 问题产生的原因5.2 解决方案5.2.1 方案一:…

DBeaver启动报错 Faild to load the JNI shared library

DBeaver启动报错 Faild to load the JNI shared library 问题现象 安装完成后,启动dbeaver报错 查看版本为64位版本,JAVA也为64为版本 dbeaver版本 java版本 解决 在dberver.ini添加指定配置,即可启动成功

msvcp100.dll是什么意思?msvcp100.dll丢失有什么可靠的解决方法

当我们在电脑中试图启动某些程序或游戏时,可能会遇到一个错误消息:"程序无法启动,因为计算机缺少msvcp100.dll"。其实遇到这种情况是非常的常见的,只要你是经常使用电脑的人,我们要解决它也非常的简单&#…