Docker一键部署 FileDrop:打造安全高效的私有文件共享服务

Docker一键部署 FileDrop:打造安全高效的私有文件共享服务

  • 一、FileDrop介绍
    • [1.1 FileDrop简介](#1.1 FileDrop简介)
    • [1.2 FileDrop使用场景](#1.2 FileDrop使用场景)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载FileDrop镜像
  • 五、部署FileDrop
    • [5.1 docker-cli创建filedrop容器](#5.1 docker-cli创建filedrop容器)
    • [5.2 编辑docker-compose.yaml文件](#5.2 编辑docker-compose.yaml文件)
    • [5.3 创建filedrop容器](#5.3 创建filedrop容器)
    • [5.4 检查filedrop容器运行状态](#5.4 检查filedrop容器运行状态)
    • [5.5 检查filedrop容器日志](#5.5 检查filedrop容器日志)
  • 六、FileDrop的基本使用
    • [6.1 设置用户名](#6.1 设置用户名)
    • [6.2 在其他电脑访问FileDrop](#6.2 在其他电脑访问FileDrop)
    • [6.3 共享请求许可设置](#6.3 共享请求许可设置)
    • [6.4 发送共享文件](#6.4 发送共享文件)
  • 七、总结

一、FileDrop介绍

1.1 FileDrop简介

FileDrop是一款安全高效的文件共享工具,它允许用户在线共享文件,并通过加密来保护文件的安全性。FileDrop的加密功能可以确保在文件传输过程中,文件的内容不会被未经授权的人访问。

1.2 FileDrop使用场景

FileDrop是一种个人文件分享工具,可以用于以下场景:

  • 分享照片:你可以使用FileDrop将照片分享给朋友和家人。只需将照片拖放到FileDrop中,生成一个独一无二的链接,然后将链接发送给对方。这样,对方就可以通过点击链接来查看和下载照片。

  • 分享音乐:如果你有一首特别喜欢的歌曲或音乐专辑,可以使用FileDrop将它们分享给朋友。将音乐文件拖放到FileDrop中,生成分享链接,然后将链接发送给对方即可。

  • 分享文档:FileDrop也非常适合分享文档,如Word文档、PDF文件等。你可以将文档文件拖放到FileDrop中,生成链接并发送给需要的人,这样他们就可以轻松地下载和查看文档。

  • 团队合作:如果你在一个团队中工作,FileDrop可以帮助你和团队成员分享文件。你可以将文件放入FileDrop,并与团队成员共享链接。这样,每个人都可以方便地访问所需的文件。

  • 备份文件:如果你想对重要文件进行备份,可以使用FileDrop。将文件拖放到FileDrop中,并将生成的链接保存在安全的地方。这样,即使你的电脑损坏或丢失,你仍然可以通过链接重新获取文件。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署FileDrop文件共享工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-12-01 22:00:49 CST; 5 days ago
     Docs: https://docs.docker.com
 Main PID: 11506 (dockerd)
    Tasks: 10
   Memory: 2.0G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载FileDrop镜像

从docker hub拉取filedrop镜像,镜像版本为latest。

bash 复制代码
[root@jeven ~]# docker pull  xtrendence/filedrop
Using default tag: latest
latest: Pulling from xtrendence/filedrop
9b99af5931b3: Pull complete
b6013b3e77fe: Pull complete
bbced17b6899: Pull complete
8b609dabefa8: Pull complete
50544bfef33d: Pull complete
fea3f8b8e075: Pull complete
9e4e229021ee: Pull complete
971c8efc250b: Pull complete
3e9d4bc41c27: Pull complete
84a008726e94: Pull complete
1fb38024994d: Pull complete
30197cce9dc7: Pull complete
061733aba440: Pull complete
Digest: sha256:72e653efe4c359a2fcd6b138b3f289175e55faa681c2fbe1cbd53a44a010c379
Status: Downloaded newer image for xtrendence/filedrop:latest
docker.io/xtrendence/filedrop:latest

五、部署FileDrop

5.1 docker-cli创建filedrop容器

使用docker-cli创建filedrop容器

bash 复制代码
docker run -d --name filedrop --restart always -p 5660:3180  -m 1g --cpus=0.5 xtrendence/filedrop

5.2 编辑docker-compose.yaml文件

本次实践使用docker compose方式部署,编辑docker-compose.yaml文件。

yaml 复制代码
version: '3.8'
services:
  filedrop:
    image: xtrendence/filedrop
    container_name: filedrop
    restart: always
    ports:
      - "5660:3180"
    mem_limit: 1g
    cpus: 0.5

5.3 创建filedrop容器

使用docker compose快速创建filedrop容器

bash 复制代码
[root@jeven filedrop]# docker compose up -d
[+] Running 2/2
 ⠿ Network filedrop_default  Created                                                                                    0.1s
 ⠿ Container filedrop        Started                                                                                    1.0s

5.4 检查filedrop容器运行状态

检查filedrop容器运行状态

bash 复制代码
[root@jeven filedrop]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
filedrop            "docker-entrypoint.s..."   filedrop            running             0.0.0.0:5660->3180/tcp, :::5660->3180/tcp

5.5 检查filedrop容器日志

检查filedrop容器日志

bash 复制代码
[root@jeven filedrop]# docker compose logs
filedrop  |
filedrop  | > filedrop@1.0.6 start
filedrop  | > node src/server.js
filedrop  |
filedrop  |  Started  Server:   http://192.168.80.2:3180
filedrop  |  Cleared Previous Clients

六、FileDrop的基本使用

6.1 设置用户名

访问地址:https://192.168.3.166:5660/,将IP更改为自己服务器的ip地址,设置自定义用户名为jeven。

6.2 在其他电脑访问FileDrop

访问地址:http://192.168.3.166:5660/,将IP更改为自己服务器的ip地址,点击随机生成用户名browine。

此时,两台电脑的浏览器右上角会出现对方用户的"请求许可"选项。

6.3 共享请求许可设置

在jeven用户的浏览器上,点击对于browine用户的共享"请求许可",在browine用户登录的浏览器同意请求即可,

6.4 发送共享文件

在jeven用户的浏览器上,点击发送共享文件。


此时,在browine用户登录的浏览器上自动下载该文件。注意发送的文件名不能有中文名,否则会失败。

七、总结

FileDrop文件共享工具是一个非常有用的工具,特别适用于个人多设备之间传输文件或团队协作互发文件。它的文件访问请求机制保证了文件发送共享的安全性,并且传输速率也非常快。然而,当前版本的体验中存在一个不友好的问题,即无法传输带有中文名的文件。希望在后续版本中能对此进行改进,以提升用户体验。

相关推荐
林鸿风采2 小时前
Alpine Linux 安装指南:轻量、安全、高效的系统部署实践
linux·运维·安全·alpine
深圳市恒星物联科技有限公司2 小时前
湘深联动,共筑安全——恒星物联亮相深圳安全应急科技展览会
科技·安全
23zhgjx-hyh2 小时前
【项目四:网络攻击分析】
网络·安全·web安全
小二·2 小时前
Python Web 开发进阶实战:API 安全与 JWT 认证 —— 构建企业级 RESTful 接口
前端·python·安全
Allen_LVyingbo2 小时前
具备安全护栏与版本化证据溯源的python可审计急诊分诊平台复现
开发语言·python·安全·搜索引擎·知识图谱·健康医疗
爱蛙科技2 小时前
如何精准选择太阳光模拟器?
安全
NewCarRen2 小时前
汽车安全威胁分析与风险评估技术及缓解方法
网络·安全·web安全
爱冒险的熏肉大饼2 小时前
ctf.show__Web应用安全与防护(第一章)
安全·ctfshow
码农阿豪2 小时前
Redis键值对批量删除全攻略:安全高效删除包含特定模式的键
数据库·redis·安全