Docker部署Filepizza,轻松实现高效文件传输!
Docker部署Filepizza,轻松实现高效文件传输!
一、 FilePizza介绍
1.FilePizza简介
FilePizza 是一个基于浏览器的点对点(P2P)文件共享服务,它允许用户直接从一个网页浏览器向另一个进行大文件传输,而无需通过服务器中转数据。这意味着文件直接在发送者和接收者之间传递,提高了传输速度并保证了较高的隐私性。FilePizza 利用了WebRTC技术来实现这一过程,确保了跨平台兼容性,无论是Windows、Mac还是Linux操作系统下的主流浏览器都能良好支持。
2.主要 使用场景
临时分享:当需要快速与他人分享文件但又不想上传到云端存储时,FilePizza 提供了一个便捷且安全的选择。
多人协作:团队成员间可以利用该工具即时交换设计稿、视频素材等大型文件,尤其适用于远程工作环境下的即时沟通需求。
家庭或朋友间分享:对于那些希望与家人或朋友共享个人照片、视频等记忆资料的人来说,这是一种既私密又高效的解决方案。
网络条件不佳情况下的文件传输:由于是直接点对点连接,在某些情况下可能比传统的云存储服务提供更稳定的传输体验,尤其是在双方处于同一局域网内时更为明显。
二、检查本地系统环境
1.检查系统版本
部署前,检查操作系统环境,当前使用的操作系统为Centos7.6;
[root@jeven ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Cor
2.检查系统内核版本
检查当前的内核版本
[root@jeven ~]# uname -r
6.1.8-1.el7.elrepo.x86_64
3.检查Docker版本
检查当前的Docker版本,当前Docker版本为20.10.17。
[root@jeven ~]# docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:03:33 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
4.检查Docker状态
[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 Wed 2023-02-01 17:10:06 CST; 1h 40min ago
Main PID: 9994 (dockerd)
Tasks: 189
Memory: 375.4M
三、下载Docker镜像
镜像名称为: kern/filepizza
[root@jeven ~]# docker pull kern/filepizza:master
master: Pulling from kern/filepizza
c9b1b535fdd9: Pull complete
8488f113df73: Pull complete
09953e135439: Pull complete
b1863e3df3d5: Pull complete
256ec9cc264a: Pull complete
1b22108a4a0f: Pull complete
Digest: sha256:0791a0dd0583107cd481558dfab9a922cd3f480a953ceff71a9b98f0cc3b0260
Status: Downloaded newer image for kern/filepizza:master
docker.io/kern/filepizza:master
四、部署filepizza
1.创建数据目录
创建宿主机的挂载目录
[root@jeven ~]# mkdor -p /data/filepizza/
[root@jeven ~]# cd /data/filepizza/
[root@jeven filepizza]#
2.创建证书
执行以下命令,创建SSL自签名证书。
1.openssl genrsa -out server.key 2048 #生成私钥
2.openssl req -new -key server.key -out server.csr #生成证书申请文件server.csr
3.openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #生成证书文件
3.创建filepizza容器
执行以下命令,创建filepizza容器。
[root@jeven filepizza]# docker run -d --name filepizza --restart always -p 8180:8080 -e PORT=8080 -e HTTPS_KEY=/config/server.key -e HTTPS_CERT=/config/server.crt -v /data/filepizza/:/config/ kern/filepizza:master
af9b581579496af361c144260e3d553caadfd2593d70806b8b96ea25681c571c
3.查看filepizza容器状态
我们使用docker ps命令查看容器状态
[root@jeven filepizza]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af9b58157949 kern/filepizza:master "docker-entrypoint.s…" 14 seconds ago Up 13 seconds 80/tcp, 0.0.0.0:8180->8080/tcp, :::8180->8080/tcp filepizza
4.检查filepizza容器运行日志
查询filepizza容器运行日志,确保filepizza服务正常运行
[root@jeven filepizza]# docker logs filepizza
info: FilePizza listening on :::8080
五、访问filepizza
访问地址:,将IP替换为自己服务器IP地址,使用https的方式访问。如果无法访问到该页面,注意检查本地防火墙是否关闭或者放行相关端口,云服务器则还需要再行设置安全组规则。

六、总结
通过Docker部署FilePizza文件传输工具非常便捷,只需几条简单的命令即可快速启动服务。在实际使用中,FilePizza展现了出色的文件传输速度和稳定性,特别是在局域网环境下表现尤为突出。其简洁直观的用户界面使得文件分享变得轻松愉快,无论是个人还是团队协作都极大地提升了效率。整体而言,利用Docker容器化部署不仅简化了安装过程,还确保了环境的一致性和可移植性。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

云月
校验提示文案
不做实验
校验提示文案
江湖有缘
校验提示文案
张大妈老公公
再说了这个filepizza好像没有原生Nginx的文件服务好用吧
校验提示文案
奇零才子
校验提示文案
江湖有缘
校验提示文案
江湖有缘
校验提示文案
aboutme
校验提示文案
江湖有缘
校验提示文案
不做实验
校验提示文案
云月
校验提示文案
江湖有缘
校验提示文案
江湖有缘
校验提示文案
奇零才子
校验提示文案
张大妈老公公
再说了这个filepizza好像没有原生Nginx的文件服务好用吧
校验提示文案
江湖有缘
校验提示文案
江湖有缘
校验提示文案
aboutme
校验提示文案