
FastSend 是一款开源的点对点(P2P)文件传输工具,它利用了WebRTC技术来实现浏览器之间的直接数据交换。这意味着用户可以通过网页界面轻松地共享文件或文件夹,而无需依赖第三方服务器进行中转,从而保证了高效和安全的数据传输。FastSend特别适合需要快速分享大量数据的个人和团队使用,特别是在局域网环境下能够提供优化的传输速度。
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | FastSend |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署FastSend文件传输工具。
检查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检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1拉取FastSend镜像,拉取镜像如下所示:
root@jeven01:~# docker pull 918178/fastsend:v0.5.7
v0.5.7: Pulling from 918178/fastsend
38a8310d387e: Pull complete
1b970ccead88: Pull complete
e27d76322248: Pull complete
fdd316e9b466: Pull complete
fb7d56e450d6: Pull complete
3cfcd2534725: Pull complete
Digest: sha256:f108ba84fd22a3268f48f86ceaec2c4a89102ebd7c3484ae6725fb01f66fb7d5
Status: Downloaded newer image for 918178/fastsend:v0.5.7
docker.io/918178/fastsend:v0.5.7mkdir -p /data/fastsend && cd /data/fastsenddocker run -d \
--name fastsend \
--restart always \
-p 5300:3000 \
-e NODE_ENV=production \
918178/fastsend:v0.5.7 \
node server/index.mjs在`部署目录下,创建docker-compose.yaml文件,如下所示:
vim docker-compose.yamlversion: '3'
services:
fastsend:
image: 918178/fastsend:v0.5.7
container_name: fastsend
restart: unless-stopped
ports:
- 5300:3000
environment:
- NODE_ENV=production
command: node server/index.mjs执行以下命令,创建FastSend容器。
root@jeven01:/data/fastsend# docker compose up -d
[+] Running 2/2
✔ Network fastsend_default Created 0.1s
✔ Container fastsend Started 0.2s
检查FastSend容器状态状态,确保FastSend容器正常启动。
root@jeven01:/data/fastsend# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
fastsend 918178/fastsend:v0.5.7 "docker-entrypoint.s…" fastsend 47 seconds ago Up 47 seconds 0.0.0.0:5300->3000/tcp, :::5300->3000/tcp检查FastSend容器日志,确保FastSend服务正常运行。
root@jeven01:/data/fastsend# docker compose logs
fastsend | transCount: 0
fastsend | Listening on http://[::]:3000浏览器地址:
http://<个人的服务器IP>:5300,访问FastSend服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在FastSend的主页中,如果想要取消显示的警告限制,可采用https访问。点击发送文件,上传本地文件。

上传文件后,会自动生成取件码,复制及记住取件码。

在局域网内其余电脑,打开FastSend主页,在右侧填写刚才得取件码。

回到FastSend发送端,确认发送文件。

回到接收端,点击确认接收文件,可以看到文件成功接受。


通过本次实践,我们成功地使用Docker部署了FastSend文件传输工具,体验了从环境准备到服务访问的全过程。FastSend基于WebRTC技术实现的点对点文件传输功能,在保障数据安全的同时展现了高效、便捷的文件共享能力。这次部署不仅加深了我们对Docker容器化部署的理解,也展示了如何快速搭建一个实用的文件传输服务,为后续的相关项目提供了宝贵的经验和参考案例。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。