docker部署Filepizza,輕松實(shí)現(xiàn)高效文件傳輸!
- 1.FilePizza簡(jiǎn)介
- 2.主要 使用場(chǎng)景
- 1.檢查系統(tǒng)版本
- 2.檢查系統(tǒng)內(nèi)核版本
- 3.檢查Docker版本
- 4.檢查Docker狀態(tài)
- 1.創(chuàng)建數(shù)據(jù)目錄
- 2.創(chuàng)建證書(shū)
- 3.創(chuàng)建filepizza容器
- 3.查看filepizza容器狀態(tài)
- 4.檢查filepizza容器運(yùn)行日志
一、 FilePizza介紹
1.FilePizza簡(jiǎn)介
FilePizza 是一個(gè)基于瀏覽器的點(diǎn)對(duì)點(diǎn)(P2P)文件共享服務(wù),它允許用戶(hù)直接從一個(gè)網(wǎng)頁(yè)瀏覽器向另一個(gè)進(jìn)行大文件傳輸,而無(wú)需通過(guò)服務(wù)器中轉(zhuǎn)數(shù)據(jù)。這意味著文件直接在發(fā)送者和接收者之間傳遞,提高了傳輸速度并保證了較高的隱私性。FilePizza 利用了WebRTC技術(shù)來(lái)實(shí)現(xiàn)這一過(guò)程,確保了跨平臺(tái)兼容性,無(wú)論是Windows、Mac還是linux操作系統(tǒng)下的主流瀏覽器都能良好支持。
2.主要 使用場(chǎng)景
- 臨時(shí)分享:當(dāng)需要快速與他人分享文件但又不想上傳到云端存儲(chǔ)時(shí),F(xiàn)ilePizza 提供了一個(gè)便捷且安全的選擇。
- 多人協(xié)作:團(tuán)隊(duì)成員間可以利用該工具即時(shí)交換設(shè)計(jì)稿、視頻素材等大型文件,尤其適用于遠(yuǎn)程工作環(huán)境下的即時(shí)溝通需求。
- 家庭或朋友間分享:對(duì)于那些希望與家人或朋友共享個(gè)人照片、視頻等記憶資料的人來(lái)說(shuō),這是一種既私密又高效的解決方案。
- 網(wǎng)絡(luò)條件不佳情況下的文件傳輸:由于是直接點(diǎn)對(duì)點(diǎn)連接,在某些情況下可能比傳統(tǒng)的云存儲(chǔ)服務(wù)提供更穩(wěn)定的傳輸體驗(yàn),尤其是在雙方處于同一局域網(wǎng)內(nèi)時(shí)更為明顯。
二、檢查本地系統(tǒng)環(huán)境
1.檢查系統(tǒng)版本
部署前,檢查操作系統(tǒng)環(huán)境,當(dāng)前使用的操作系統(tǒng)為Centos7.6;
[root@jeven?~]#?cat?/etc/centos-release CentOS?Linux?release?7.6.1810?(Cor
2.檢查系統(tǒng)內(nèi)核版本
- 檢查當(dāng)前的內(nèi)核版本
[root@jeven?~]#?uname?-r? 6.1.8-1.el7.elrepo.x86_64
3.檢查Docker版本
檢查當(dāng)前的Docker版本,當(dāng)前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狀態(tài)
[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鏡像
鏡像名稱(chēng)為: 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.創(chuàng)建數(shù)據(jù)目錄
- 創(chuàng)建宿主機(jī)的掛載目錄
[root@jeven?~]#?mkdor?-p?/data/filepizza/ [root@jeven?~]#?cd?/data/filepizza/ [root@jeven?filepizza]#?
2.創(chuàng)建證書(shū)
- 執(zhí)行以下命令,創(chuàng)建SSL自簽名證書(shū)。
1.openssl?genrsa?-out?server.key?2048??#生成私鑰 2.openssl?req?-new?-key?server.key?-out?server.csr?#生成證書(shū)申請(qǐng)文件server.csr 3.openssl?x509?-req?-days?365?-in?server.csr?-signkey?server.key?-out?server.crt?#生成證書(shū)文件
3.創(chuàng)建filepizza容器
- 執(zhí)行以下命令,創(chuàng)建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容器狀態(tài)
- 我們使用docker ps命令查看容器狀態(tài)
[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容器運(yùn)行日志
查詢(xún)filepizza容器運(yùn)行日志,確保filepizza服務(wù)正常運(yùn)行
[root@jeven?filepizza]#?docker?logs?filepizza? info:?FilePizza?listening?on?:::8080
五、訪問(wèn)filepizza
訪問(wèn)地址:,將IP替換為自己服務(wù)器IP地址,使用https的方式訪問(wèn)。如果無(wú)法訪問(wèn)到該頁(yè)面,注意檢查本地防火墻是否關(guān)閉或者放行相關(guān)端口,云服務(wù)器則還需要再行設(shè)置安全組規(guī)則。
六、總結(jié)
通過(guò)Docker部署FilePizza文件傳輸工具非常便捷,只需幾條簡(jiǎn)單的命令即可快速啟動(dòng)服務(wù)。在實(shí)際使用中,F(xiàn)ilePizza展現(xiàn)了出色的文件傳輸速度和穩(wěn)定性,特別是在局域網(wǎng)環(huán)境下表現(xiàn)尤為突出。其簡(jiǎn)潔直觀的用戶(hù)界面使得文件分享變得輕松愉快,無(wú)論是個(gè)人還是團(tuán)隊(duì)協(xié)作都極大地提升了效率。整體而言,利用Docker容器化部署不僅簡(jiǎn)化了安裝過(guò)程,還確保了環(huán)境的一致性和可移植性。
作者聲明本文無(wú)利益相關(guān),歡迎值友理性交流,和諧討論~
,