Docker部署PairDrop文件传输工具的项目实践

 更新时间:2025年09月17日 11:35:41   作者:江湖有缘  
本文主要介绍了Docker部署PairDrop文件传输工具的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、PairDrop介绍

1.1 PairDrop简介

PairDrop 是一个支持跨平台的文件共享工具,它允许用户通过本地网络或互联网轻松地在不同设备之间发送图片、文档或文本。与传统的文件传输方式相比,PairDrop 提供了一个无需设置、无需注册的便捷解决方案,适用于拥有现代网页浏览器的所有设备。

1.2 主要特点

  • 多平台兼容:无论是Windows、macOS、Linux还是移动操作系统如iOS和Android,PairDrop都能提供类似AirDrop的体验。
  • 本地网络文件分享:通过点对点连接直接在同一个局域网内的设备间进行文件传输,快速且高效。
  • 临时公共房间:用户可以通过加入临时公共房间,方便地通过互联网与其他用户进行文件交换。
  • Web应用形式:无需安装额外的应用程序,只需使用带有现代浏览器的设备即可访问和使用PairDrop服务。

1.3 使用场景

  • 工作环境中的协作:在办公室或团队合作时,成员可以通过PairDrop迅速分享会议资料、设计稿或其他重要文档,提高工作效率。
  • 家庭内媒体共享:家庭成员可以轻松地在各自的设备间分享照片、视频等多媒体内容,无需复杂的设置过程。
  • 教育领域资源传递:教师和学生可以在教室或校园网环境下快速交换学习材料,便于教学活动的开展。
  • 外出旅行时的即时分享:当朋友或家人一同出游时,可以通过创建临时公共房间来分享旅途中的精彩瞬间,即使没有稳定的Wi-Fi连接也能实现。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostnameIP地址操作系统版本Docker版本部署项目
jeven01192.168.3.88Ubuntu 22.04.1 LTS27.1.1PairDrop

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署PairDrop文件传输工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-11-01 00:45:50 CST; 2 weeks 4 days ago
       Docs: https://docs.docker.com
   Main PID: 10450 (dockerd)
      Tasks: 60 (limit: 9387)
     Memory: 1.8G
        CPU: 33min 54.335s
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、下载PairDrop镜像

拉取PairDrop镜像,拉取相关镜像如下所示:

root@jeven01:/data/pairdrop# docker pull registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest
latest: Pulling from jeson/pairdrop
Digest: sha256:c280038542607099f29b829386878ff02682ed7e5ab22f0b2f1edc2631e2dee0
Status: Image is up to date for registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest
registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest

五、部署PairDrop应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/pairdrop  &&  cd /data/pairdrop 

5.2 编辑部署文件

  • 如果使用docker-cli部署,可使用以下命令。(可选)
docker run -d \
    --name pairdrop \
    --restart always  \
    -p 3049:3000 \
    -e PUID=1000 \
    -e PGID=1000 \
    -e WS_FALLBACK=true \
    -e RATE_LIMIT=false \
    -e RTC_CONFIG=false \
    -e DEBUG_MODE=false \
    -e TZ=Asia/Shanghai \
   registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
version: '3'

services:
  pairdrop:
    image: registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest
    container_name: pairdrop
    restart: always
    ports:
      - 6600:3000
    environment:
      - PUID=0
      - PGID=0
      - WS_FALLBACK=true
      - RATE_LIMIT=false
      - RTC_CONFIG=false
      - DEBUG_MODE=false
      - TZ=Asia/Shanghai
环境变量描述
PUID用户ID。设为1000或其他值以匹配运行容器的用户ID,这里设置为0可能表示默认或root用户。
PGID用户组ID。与PUID类似,设为1000或其他值以匹配用户组ID,这里设置为0。
WS_FALLBACKtrue启用WebSocket回调功能,如果客户端无法建立点对点的WebRTC连接,则通过WebSocket进行通信。
RATE_LIMITfalse控制是否限制客户端请求频率。如果设置为true,将限制每5分钟最多1000次请求。此处设置为false,不限制。
RTC_CONFIGfalse指定是否配置STUN/TURN服务器用于WebRTC连接。若设置为true,则需要提供相应的服务器配置。
DEBUG_MODEfalse是否启用调试模式。启用后可以输出更多详细的日志信息,便于调试应用。
TZAsia/Shanghai设置容器内的时区。这里设置为"Asia/Shanghai",即上海时间(也可以适用于整个中国大陆地区)。

5.3 创建PairDrop容器

执行以下命令,创建PairDrop容器。

root@jeven01:/data/pairdrop# docker compose up -d
[+] Running 2/2
 ? Network pairdrop_default  Created                                                                                                              0.1s
 ? Container pairdrop        Started                                                                                                              0.2s

5.4 查看PairDrop容器状态

检查PairDrop容器状态状态,确保PairDrop容器正常启动。

root@jeven01:/data/pairdrop#  docker compose ps
NAME                IMAGE                                                     COMMAND             SERVICE             CREATED             STATUS       PORTS
pairdrop            registry.cn-hangzhou.aliyuncs.com/jeson/pairdrop:latest   "/init"             pairdrop            33 seconds ago      Up 32 seconds       0.0.0.0:6600->3000/tcp, :::6600->3000/tcp

5.5 查看PairDrop容器日志

检查PairDrop容器日志,确保PairDropc服务正常运行。

docker compose logs

六、访问PairDrop服务

浏览器地址: http://<个人的服务器IP>:6600,访问PairDrop服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

七、文件传输测试

7.1 PC端接收文件

在局域网内其余PC打开PairDrop的访问链接,可以看到本机的随机名称Plum Cobra。

点击Plum Cobra,发送本地文件给Plum Cobra机器后。返回到本机上查看,可以看到文件传输请求,确认即可下载。

7.2 手机端接收文件

在手机浏览器打开 http://<个人的服务器IP>:6600,访问PairDrop服务。

在PC端将本地文件传给手机,可以看到如下效果:

八、总结

通过本次实战,我们成功使用Docker部署了PairDrop文件传输工具,体验了其跨平台文件共享的便捷性。在部署过程中,我们检查并配置了本地环境,确保了服务的顺利运行,并通过实际文件传输测试验证了PairDrop的功能和稳定性。无论是工作协作还是日常生活中的文件分享,PairDrop都展现出了极高的实用价值和灵活性。

到此这篇关于Docker部署PairDrop文件传输工具的项目实践的文章就介绍到这了,更多相关Docker部署PairDrop传输内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker Compose引用环境变量的方法示例

    Docker Compose引用环境变量的方法示例

    在项目中,往往需要在 docker-compose.yml 文件中使用环境变量来控制不同的条件和使用场景。本文集中介绍 docker compose 引用环境变量的方式,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 基于docker的caffe环境搭建方法

    基于docker的caffe环境搭建方法

    这篇文章主要介绍了基于docker的caffe环境搭建方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Docker部署Ragflow(完美解决502 bad gateway)

    Docker部署Ragflow(完美解决502 bad gateway)

    本文主要介绍了Docker部署Ragflow,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • Docker网络配置(桥接网络和自定义网络)自定义网络设置ip方式

    Docker网络配置(桥接网络和自定义网络)自定义网络设置ip方式

    这篇文章主要介绍了Docker网络配置(桥接网络和自定义网络)自定义网络设置ip方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker Swarm入门实例详解

    Docker Swarm入门实例详解

    这篇文章主要介绍了Docker Swarm 入门实例详解的相关内容,小编觉得十分不错,在这里给大家分享下,需要的朋友可以参考。
    2017-10-10
  • 如何给Docker配置网络代理

    如何给Docker配置网络代理

    文章讲述了如何为Docker配置代理,包括守护进程dockerd、容器运行和构建时的代理配置方法,并强调了不同场景下的适用性
    2024-11-11
  • Docker 拉取镜像超时(亲测 3 个有效镜像源 + 避坑指南)

    Docker 拉取镜像超时(亲测 3 个有效镜像源 + 避坑指南)

    Docker 默认镜像源在国外,国内访问经常抽风,常规操作应该是换国内镜像源,本文就来介绍一下三个国内稳定源,具有一定的参考价值,感兴趣的可以了解一下
    2025-08-08
  • 启动docker错误systemctl status docker.service问题及解决

    启动docker错误systemctl status docker.service问题及解决

    文章讨论了启动Docker和执行docker ps命令失败的问题,但docker -v显示成功,解决办法包括在阿里云容器镜像中找到镜像加速器或使用公共镜像地址,默认情况下,Docker使用官方地址
    2025-01-01
  • docker快速部署zabbix的方法

    docker快速部署zabbix的方法

    zabbix标准组件是分布式的,因此部署过程中需要创建多个容器,本文主要介绍了docker快速部署zabbix的方法,具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Skywalking Docker单机环境搭建过程

    Skywalking Docker单机环境搭建过程

    这篇文章主要介绍了Skywalking Docker单机环境搭建,本次搭建是基于MySQL进行持久化,因此需要提前准备好一个MySQL容器,需要的朋友可以参考下
    2024-02-02

最新评论