Docker部署Plik临时文件上传系统并且实现远程访问

在这里插入图片描述

文章目录

  • 1. Docker部署Plik
  • 2. 本地访问Plik
  • 3. Linux安装Cpolar
  • 4. 配置Plik公网地址
  • 5. 远程访问Plik
  • 6. 固定Plik公网地址
  • 7. 固定地址访问Plik
  • 8. 结语

本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者下载或者共享文件!

Plik是一个可扩展且友好的临时文件上传系统,类似于wetransfer。它具有强大的命令行客户端和易于使用的Web UI,支持多个数据后端(文件,OpenStack Swift,S3)和多个元数据后端(Sqlite3,PostgreSQL)。它还具有OneShot功能,可以让您在不存储文件的情况下共享文件。

1. Docker部署Plik

首先创建一个挂载目录

mkdir -p /data/plik/data

设置目录权限

chmod -R 777 /data/plik/

执行docker命令一键快速部署plik,挂载端口为8566,该端口可以自定义,可以改为自己想要的端口,这里使用8566端口

docker run  -d  \
--name plik \
-p 8566:8080  \
-v /data/plik/data:/home/plik/server/files  \
rootgg/plik

执行完成后,输入docker ps查看容器运行状态,可以看到成功运行

image-20231129161517020

2. 本地访问Plik

浏览器通过访问Linux 局域网IP加 8566 端口,即可看到Plik首页:

image-20231129161554939

3. Linux安装Cpolar

上面在本地Docker中成功部署了Plik服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装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-20231016143741228

4. 配置Plik公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个plik的公网http地址隧道!

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

点击创建

image-20231129162018678

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231129162044136

5. 远程访问Plik

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Plik界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !

image-20231129162221075

小结

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

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

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

6. 固定Plik公网地址

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

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

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

image-20231129162511615

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

image-20231129162553519

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

image-20231129162538332

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

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

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

image-20231129162618725

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

image-20231129162640285

7. 固定地址访问Plik

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地Plik

image-20231129162801210

8. 结语

今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,春人的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是春人前进的动力!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【预计IEEE出版|EI征稿通知】第六届下一代数据驱动网络国际学术会议 (NGDN 2024)

第六届下一代数据驱动网络国际学术会议 (NGDN 2024) The Sixth International Conference on Next Generation Data-driven Networks 2024年4月26-28日 | 中国沈阳 基于前几届在英国埃克塞特 (ISPA 2020) 、中国沈阳 (TrustCom 2021) 和中国武汉 (IEEETrustCom-2022) 成功举…

【Qt开发流程】之事件系统1:事件系统描述及事件发生流程

Qt的事件系统 在Qt中,事件是对象,派生自抽象的QEvent类,它表示应用程序内部发生的事情或作为应用程序需要知道的外部活动的结果。事件可以由QObject子类的任何实例接收和处理,但它们与小部件特别相关。以下描述了在典型应用程序中…

电子学会C/C++编程等级考试2022年03月(四级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:拦截导弹 某国为了防御敌国的导弹袭击, 发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷: 虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 某天, 雷达捕捉到敌国的导弹来袭。…

Java高级技术-反射

认识反射、获取类 获取类的方法 获取类的构造器 获取类的构造器、并对其进行操作 获取构造器的作用:依然是初始化对象返回 获取成员变量 获取成员变量的方法 获取成员变量的作用:赋值、取值 获取类的成员方法 方法 作用:依然是执行 作用、…

什么是DDoS攻击

DDoS攻击 1. 定义2. DDoS攻击类型2.1 网络层攻击2.2 传输层攻击2.3 应用层攻击 3.DDoS攻击态势特点 1. 定义 分布式拒绝服务(DDoS)攻击是一种常见的网络攻击形式。攻击者利用恶意程序对一个或多个目标发起攻击,企图通过大规模互联网流量耗尽…

【Element-ui】Icon 图标与Button 按钮

文章目录 前言一、Icon 图标1.1 作用1.2 使用方法1.3 图标集合 二、Button 按钮2.1 基础用法2.2 禁用状态2.3 文字按钮2.4 图标按钮2.5 按钮组2.6 加载中2.7 不同尺寸 总结 前言 在前端开发中,界面的设计和交互是至关重要的一部分。一个直观、易用的界面往往离不开…

HarmonyOS应用开发——程序框架UIAbility、启动模式与路由跳转

前言 UIAbility简单来说就是一种包含用户界面的应用组件,用于和用户进行交互。每一个UIAbility实例,对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility,也可以有多个UIAbility。一个UIAbility可以对应于多个页面,建议…

集成开发环境PyCharm的使用【侯小啾python领航计划系列(三)】

集成开发环境 PyCharm 的使用【侯小啾python领航计划系列(三)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

MySQL 性能优化

未完待续... 1. 分库、分表结构优化 1.1 数据库设计 1.2 选择数据类型 1.3 数字类型 1.3.1 整数类型 1.3.2实数类型 1.4 字符串类型 1.4.1 CHAR与VARCHAR 1.4.2 BINARY与VARBINARY 1.4.3 TEXT与BLOB 1.4.4 ENUM类型 1.4.5 SET类型 1.5日期时间类型 1.5.1 日期类型 1.5.2 时间类…

监测tcp连接状态

using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 检测tcp连接状态 {public class TCPClient{private TcpClient client;private bool con…

C++核心编程——类与对象基础

C核心编程——类与对象基础 类与对象封装构造函数普通构造拷贝构造初始化成员列表(补充) 析构函数对象数组对象指针指向对象的指针指向对象成员的指针this指针 静态成员静态数据成员静态成员函数 友元普通函数做友元函数友元成员函数友元类 类与对象 C面…

Fiddler抓包工具之fiddler的composer可以简单发送http协议的请求

一,composer的详解 右侧Composer区域,是测试接口的界面: 相关说明: 1.请求方式:点开可以勾选请求协议是get、post等 2.url地址栏:输入请求的url地址 3.请求头:第三块区域可以输入请求头信息…

Java实战案例————ATM

需求分析 首先ATM银行系统包括两个基础大功能:开户和登陆账户(当然在系统中没有一个账户时不能登录,需要先开户)。 一名用户有6项基本信息描述:姓名、性别、银行卡号、银行卡密码、账户余额、取款限额。 在登录账户…

MyBatis的创建,简单易懂的一篇blog

文章目录 一、MyBatis是什么二、操作流程三.配置resource总结 一、MyBatis是什么 MyBatis 是⼀款优秀的持久层框架,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注…

Docker常见命令介绍

命令说明 docker pull 拉取镜像 docker push 推送镜像到DockerRegistry docker images 查看本地镜像 docker rmi 删除本地镜像 docker run 创建并运行容器(不能重复创建) docker stop 停止指定容器 docker start 启动指定容器 docker rest…

SpringBoot2.x整合WebService实现远程接口调用

一、添加依赖 <!-- SpringBoot 2.4 以下版本--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId> </dependency><dependency><groupId>org.apach…

『测试基础』| 如何理解测试用例管理和缺陷管理?

『测试管理攻略』| 如何理解测试用例管理和缺陷管理&#xff1f; 1 测试用例定义2 测试用例设计原则3 测试用例的评审4 测试如何维护&#xff1f;5 用例的作用6 用例管理工具7 缺陷关注的重点8 缺陷分析9 缺陷管理工具 1 测试用例定义 测试用例&#xff08;TestCase&#xff0…

二叉树OJ题目——C语言

LeetCode 104.二叉树的最大深度 1. 题目描述&#xff1a; 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例…

Docker数据卷

创建数据卷html、conf &#xff0c;分别与Nginx容器内部的html、conf目录关联。数据卷html、conf分别指向宿主机 /var/lib/docker/volumes/html/_data 目录和 /var/lib/docker/volumes/conf/_data 目录&#xff0c;将容器中的html、conf目录与宿主机的html、conf目录关联起来&a…

Leetcode—1657.确定两个字符串是否接近【中等】

2023每日刷题&#xff08;四十五&#xff09; Leetcode—1657.确定两个字符串是否接近 算法思想 源于灵神 实现代码 class Solution { public:bool closeStrings(string word1, string word2) {int len1 word1.size();int len2 word2.size();if(len1 ! len2) {return fa…