Docker部署Filepizza,轻松实现高效文件传输!
- 1.FilePizza简介
- 2.主要 使用场景
- 1.检查系统版本
- 2.检查系统内核版本
- 3.检查Docker版本
- 4.检查Docker状态
- 1.创建数据目录
- 2.创建证书
- 3.创建filepizza容器
- 3.查看filepizza容器状态
- 4.检查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容器化部署不仅简化了安装过程,还确保了环境的一致性和可移植性。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,