Docker部署PairDrop文件傳輸工具的項目實踐
一、PairDrop介紹
1.1 PairDrop簡介
PairDrop 是一個支持跨平臺的文件共享工具,它允許用戶通過本地網(wǎng)絡(luò)或互聯(lián)網(wǎng)輕松地在不同設(shè)備之間發(fā)送圖片、文檔或文本。與傳統(tǒng)的文件傳輸方式相比,PairDrop 提供了一個無需設(shè)置、無需注冊的便捷解決方案,適用于擁有現(xiàn)代網(wǎng)頁瀏覽器的所有設(shè)備。
1.2 主要特點
- 多平臺兼容:無論是Windows、macOS、Linux還是移動操作系統(tǒng)如iOS和Android,PairDrop都能提供類似AirDrop的體驗。
- 本地網(wǎng)絡(luò)文件分享:通過點對點連接直接在同一個局域網(wǎng)內(nèi)的設(shè)備間進行文件傳輸,快速且高效。
- 臨時公共房間:用戶可以通過加入臨時公共房間,方便地通過互聯(lián)網(wǎng)與其他用戶進行文件交換。
- Web應(yīng)用形式:無需安裝額外的應(yīng)用程序,只需使用帶有現(xiàn)代瀏覽器的設(shè)備即可訪問和使用PairDrop服務(wù)。
1.3 使用場景
- 工作環(huán)境中的協(xié)作:在辦公室或團隊合作時,成員可以通過PairDrop迅速分享會議資料、設(shè)計稿或其他重要文檔,提高工作效率。
- 家庭內(nèi)媒體共享:家庭成員可以輕松地在各自的設(shè)備間分享照片、視頻等多媒體內(nèi)容,無需復(fù)雜的設(shè)置過程。
- 教育領(lǐng)域資源傳遞:教師和學(xué)生可以在教室或校園網(wǎng)環(huán)境下快速交換學(xué)習(xí)材料,便于教學(xué)活動的開展。
- 外出旅行時的即時分享:當(dāng)朋友或家人一同出游時,可以通過創(chuàng)建臨時公共房間來分享旅途中的精彩瞬間,即使沒有穩(wěn)定的Wi-Fi連接也能實現(xiàn)。
二、本次實踐規(guī)劃
2.1 本地環(huán)境規(guī)劃
本次實踐為個人測試環(huán)境,操作系統(tǒng)版本為|Ubuntu 22.04.1。
| hostname | IP地址 | 操作系統(tǒng)版本 | Docker版本 | 部署項目 |
|---|---|---|---|---|
| jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | PairDrop |
2.2 本次實踐介紹
1.本次實踐部署環(huán)境為個人測試環(huán)境,生產(chǎn)環(huán)境請謹(jǐn)慎; 2.在Docker環(huán)境下部署PairDrop文件傳輸工具。
三、本地環(huán)境檢查
3.1 檢查Docker服務(wù)狀態(tài)
檢查Docker服務(wù)是否正常運行,確保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鏡像,拉取相關(guān)鏡像如下所示:
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應(yīng)用
5.1 創(chuàng)建部署目錄
- 創(chuàng)建部署目錄
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
在`部署目錄下,創(chuàng)建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| 環(huán)境變量 | 值 | 描述 |
|---|---|---|
| PUID | 用戶ID。設(shè)為1000或其他值以匹配運行容器的用戶ID,這里設(shè)置為0可能表示默認(rèn)或root用戶。 | |
| PGID | 用戶組ID。與PUID類似,設(shè)為1000或其他值以匹配用戶組ID,這里設(shè)置為0。 | |
| WS_FALLBACK | true | 啟用WebSocket回調(diào)功能,如果客戶端無法建立點對點的WebRTC連接,則通過WebSocket進行通信。 |
| RATE_LIMIT | false | 控制是否限制客戶端請求頻率。如果設(shè)置為true,將限制每5分鐘最多1000次請求。此處設(shè)置為false,不限制。 |
| RTC_CONFIG | false | 指定是否配置STUN/TURN服務(wù)器用于WebRTC連接。若設(shè)置為true,則需要提供相應(yīng)的服務(wù)器配置。 |
| DEBUG_MODE | false | 是否啟用調(diào)試模式。啟用后可以輸出更多詳細(xì)的日志信息,便于調(diào)試應(yīng)用。 |
| TZ | Asia/Shanghai | 設(shè)置容器內(nèi)的時區(qū)。這里設(shè)置為"Asia/Shanghai",即上海時間(也可以適用于整個中國大陸地區(qū))。 |
5.3 創(chuàng)建PairDrop容器
執(zhí)行以下命令,創(chuàng)建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容器狀態(tài)
檢查PairDrop容器狀態(tài)狀態(tài),確保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服務(wù)正常運行。
docker compose logs

六、訪問PairDrop服務(wù)
瀏覽器地址: http://<個人的服務(wù)器IP>:6600,訪問PairDrop服務(wù)的初始頁。如果無法訪問,請確保宿主機的防火墻已關(guān)閉或已放行相關(guān)端口,對于云服務(wù)器還需配置相應(yīng)的安全組規(guī)則。

七、文件傳輸測試
7.1 PC端接收文件
在局域網(wǎng)內(nèi)其余PC打開PairDrop的訪問鏈接,可以看到本機的隨機名稱Plum Cobra。

點擊Plum Cobra,發(fā)送本地文件給Plum Cobra機器后。返回到本機上查看,可以看到文件傳輸請求,確認(rèn)即可下載。


7.2 手機端接收文件
在手機瀏覽器打開 http://<個人的服務(wù)器IP>:6600,訪問PairDrop服務(wù)。

在PC端將本地文件傳給手機,可以看到如下效果:

八、總結(jié)
通過本次實戰(zhàn),我們成功使用Docker部署了PairDrop文件傳輸工具,體驗了其跨平臺文件共享的便捷性。在部署過程中,我們檢查并配置了本地環(huán)境,確保了服務(wù)的順利運行,并通過實際文件傳輸測試驗證了PairDrop的功能和穩(wěn)定性。無論是工作協(xié)作還是日常生活中的文件分享,PairDrop都展現(xiàn)出了極高的實用價值和靈活性。
到此這篇關(guān)于Docker部署PairDrop文件傳輸工具的項目實踐的文章就介紹到這了,更多相關(guān)Docker部署PairDrop傳輸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker Compose引用環(huán)境變量的方法示例
在項目中,往往需要在 docker-compose.yml 文件中使用環(huán)境變量來控制不同的條件和使用場景。本文集中介紹 docker compose 引用環(huán)境變量的方式,感興趣的小伙伴們可以參考一下2018-12-12
Docker部署Ragflow(完美解決502 bad gateway)
本文主要介紹了Docker部署Ragflow,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Docker網(wǎng)絡(luò)配置(橋接網(wǎng)絡(luò)和自定義網(wǎng)絡(luò))自定義網(wǎng)絡(luò)設(shè)置ip方式
這篇文章主要介紹了Docker網(wǎng)絡(luò)配置(橋接網(wǎng)絡(luò)和自定義網(wǎng)絡(luò))自定義網(wǎng)絡(luò)設(shè)置ip方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker 拉取鏡像超時(親測 3 個有效鏡像源 + 避坑指南)
Docker 默認(rèn)鏡像源在國外,國內(nèi)訪問經(jīng)常抽風(fēng),常規(guī)操作應(yīng)該是換國內(nèi)鏡像源,本文就來介紹一下三個國內(nèi)穩(wěn)定源,具有一定的參考價值,感興趣的可以了解一下2025-08-08
啟動docker錯誤systemctl status docker.service問題及解決
文章討論了啟動Docker和執(zhí)行docker ps命令失敗的問題,但docker -v顯示成功,解決辦法包括在阿里云容器鏡像中找到鏡像加速器或使用公共鏡像地址,默認(rèn)情況下,Docker使用官方地址2025-01-01
Skywalking?Docker單機環(huán)境搭建過程
這篇文章主要介紹了Skywalking?Docker單機環(huán)境搭建,本次搭建是基于MySQL進行持久化,因此需要提前準(zhǔn)備好一個MySQL容器,需要的朋友可以參考下2024-02-02

