【Docker項目實戰】在Docker環境下部署go-file文件分享工具

【Docker項目實戰】在Docker環境下部署go-file文件分享工具

  • 一、go-file介紹
    • 1.1 go-file簡介
    • 1.2 go-file特點
    • 1.3 go-file使用場景
  • 二、本地環境介紹
    • 2.1 本地環境規劃
    • 2.2 本次實踐介紹
  • 三、本地環境檢查
    • 3.1 檢查Docker服務狀態
    • 3.2 檢查Docker版本
    • 3.3 檢查docker compose 版本
  • 四、下載go-file鏡像
  • 五、部署go-file文件分享工具
    • 5.1 創建掛載目錄
    • 5.2 使用docker-cli創建go-file容器
    • 5.3 編輯docker-compose.yaml文件
    • 5.4 使用docker compose創建go-file容器
    • 5.5 檢查go-file容器狀態
    • 5.6 檢查go-file容器日志
  • 六、go-file文件分享工具的基本使用
    • 6.1 訪問go-file首頁
    • 6.2 登錄go-file
    • 6.3 系統管理
    • 6.4 上傳文檔
    • 6.5 上傳圖片
    • 6.6 瀏覽上傳圖片
    • 6.7 上傳視頻文件
    • 6.8 瀏覽文件
    • 6.9 分享文件
  • 七、總結

一、go-file介紹

1.1 go-file簡介

go-file是一款開源的文件分享工具,僅單個可執行文件,開箱即用,可用于局域網內分享文件和文件夾,直接跑滿本地帶寬 。

1.2 go-file特點

  • 無需配置環境,僅單個可執行文件,直接雙擊即可開始使用。
  • 自動打開瀏覽器,分享文件快人一步。
  • 提供二維碼,可供移動端掃描下載文件,告別手動輸入鏈接。
  • 支持分享本地文件夾。
  • 適配移動端。
  • 內置圖床,支持直接粘貼上傳圖片,提供圖片上傳 API。
  • 內置視頻播放頁面,可用于在其他設備上在線博客自己電腦上的視頻,輕松跨設備在線看視頻。
  • 支持拖拽上傳,拷貝上傳。
  • 允許對不同類型的用戶設置文件訪問權限限制。
  • 訪問頻率限制。
  • 支持 Token API 驗證,便于與其他系統整合。
  • 為不熟悉命令行的用戶制作了啟動器。
  • 支持 PicGo,插件搜索 gofile 即可安裝。
  • 配套 CLI 工具,支持命令行上傳文件,支持 P2P 模式文件分享

1.3 go-file使用場景

go-file可以在以下場景進行使用:

  • 團隊協作:多人共享文件,可以用于團隊內部的文件共享和交流。團隊成員可以將文件上傳至go-file,并通過生成的鏈接分享給其他人進行下載。

  • 學習資料分享:教師可以將課件、教材等學習資料上傳到go-file,然后將鏈接分享給學生進行下載。學生也可以將學習資料上傳至go-file與其他同學進行分享。

  • 個人文件備份:用戶可以將重要的個人文件上傳到go-file進行備份,以防止文件丟失或損壞。用戶可以根據需要隨時下載備份文件。

  • 客戶文件共享:企業可以使用go-file來分享與客戶合作的文件,如合同、報價單等。通過生成的鏈接,可以方便地與客戶共享文件。

  • 程序代碼分享:開發者可以將自己的程序代碼上傳到go-file,并通過鏈接分享給其他開發者,方便進行代碼交流和共享。

二、本地環境介紹

2.1 本地環境規劃

本次實踐為個人測試環境,操作系統版本為centos7.6。

hostnameIP地址操作系統版本Docker版本
jeven192.168.3.166centos 7.620.10.17

2.2 本次實踐介紹

1.本次實踐部署環境為個人測試環境,生產環境請謹慎;
2.在Docker環境下成功部署go-file文件分享工具。

三、本地環境檢查

3.1 檢查Docker服務狀態

檢查Docker服務是否正常運行,確保Docker正常運行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2023-12-08 19:10:36 CST; 14h agoDocs: https://docs.docker.comMain PID: 11729 (dockerd)Tasks: 8Memory: 126.8MCGroup: /system.slice/docker.service

3.2 檢查Docker版本

檢查Docker版本

[root@jeven ~]# docker version
Client: Docker Engine - CommunityVersion:           20.10.17API version:       1.41Go version:        go1.17.11Git commit:        100c701Built:             Mon Jun  6 23:05:12 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.17API version:      1.41 (minimum version 1.12)Go version:       go1.17.11Git commit:       a89b842Built:            Mon Jun  6 23:03:33 2022OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.6GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1runc:Version:          1.1.2GitCommit:        v1.1.2-0-ga916309docker-init:Version:          0.19.0GitCommit:        de40ad0

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下載go-file鏡像

在docker hub下載go-file鏡像

[root@jeven ~]# docker pull justsong/go-file
Using default tag: latest
latest: Pulling from justsong/go-file
8a49fdb3b6a5: Pull complete
6c0696470a5d: Pull complete
cc95f799a85b: Pull complete
576cd38f4e44: Pull complete
Digest: sha256:9860606003f432cc15ecec4f2cff61fedc7f446acf4bdcc4ef3d936b7466ba20
Status: Downloaded newer image for justsong/go-file:latest
docker.io/justsong/go-file:latest

五、部署go-file文件分享工具

5.1 創建掛載目錄

創建主機掛載目錄

 mkdir -p /data/go-file/data

設置目錄權限

chmod -R 777 /data/go-file/

5.2 使用docker-cli創建go-file容器

  • docker-cli創建go-file容器
docker run -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /data/go-file/data:/data justsong/go-file

5.3 編輯docker-compose.yaml文件

本次使用docker compose部署/go-file項目,編輯docker-compose.yaml部署文件。

version: '3.8'
services:go-file:image: justsong/go-filerestart: alwaysports:- "3000:3000"environment:- TZ=Asia/Shanghaivolumes:- /data/go-file/data:/data

5.4 使用docker compose創建go-file容器

使用docker compose創建go-file容器

[root@jeven go-file]# docker compose up -d
[+] Running 2/2? Network go-file_default      Created                                                                                 0.1s? Container go-file-go-file-1  Started                                                                                 1.0s

5.5 檢查go-file容器狀態

檢查go-file容器狀態

[root@jeven go-file]# docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
go-file-go-file-1   "/go-file"          go-file             running             0.0.0.0:3000->3000/tcp, :::3000->3000/tcp

5.6 檢查go-file容器日志

檢查go-file容器運行日志,確保go-file服務正常運行。

[root@jeven go-file]# docker compose logs
go-file-go-file-1  | [SYS] 2023/12/09 - 10:16:08 | Go File v0.4.12 started at port 3000

六、go-file文件分享工具的基本使用

6.1 訪問go-file首頁

訪問地址:http://192.168.3.166:3000,將IP替換為自己服務器IP地址。

在這里插入圖片描述

6.2 登錄go-file

用戶名為 admin,密碼為 123456

在這里插入圖片描述
在這里插入圖片描述

6.3 系統管理

點擊系統管理,分別有系統狀況、賬戶管理、文件管理、系統設置四個選項。

在這里插入圖片描述

6.4 上傳文檔

點擊首頁菜單欄的文件模塊,點擊“上傳”,將本地文檔上傳到go-file。

在這里插入圖片描述
在這里插入圖片描述

6.5 上傳圖片

點擊圖床選項,將圖片復制到圖床中。

在這里插入圖片描述

6.6 瀏覽上傳圖片

將圖床中圖片鏈接復制到瀏覽器中,可以正常打開。

在這里插入圖片描述

6.7 上傳視頻文件

點擊右上角的“上傳”選項,上傳視頻文件。

在這里插入圖片描述

點擊菜單欄的視頻模塊,選擇視頻文件進行播放。

在這里插入圖片描述

6.8 瀏覽文件

在首頁上傳的文檔文件可以在線瀏覽

在這里插入圖片描述
在這里插入圖片描述

6.9 分享文件

點擊首頁上傳文件的的復制圖標,將復制的分享文件鏈接粘貼到其余瀏覽器即可訪問。

在這里插入圖片描述
在這里插入圖片描述

七、總結

總體而言,go-file文件分享工具在使用上非常不錯。它可以方便地分享文件、圖片、視頻等各種類型的文件,并且打開速度非常快。使用Docker可以快速將該工具部署到服務器中,界面簡潔,操作也很簡單,即使是新手也可以立即上手使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916262.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++基礎學習——文件操作詳解

一、文件流類概述 C 標準庫提供了三個主要的文件流類: ifstream (輸入文件流):用于從文件讀取數據ofstream (輸出文件流):用于向文件寫入數據fstream (文件流):既可讀又可寫 這些類都繼承自 iostream 類,因此可以使用 …

Android補全計劃 DrawerLayout使用

DrawerLayout其實用了很久了,甚至封裝了一些代碼方便不同項目使用,但重構代碼的時候突然意識到這塊內容很不成體系,因此又參考了些文檔,組建了自己的一個文檔。 toolbardrawerlayout能寫的效果很多,在此我也只是截取了…

人工智能之數學基礎:概率論之韋恩圖的應用

韋恩圖的應用由于事件的計算有時候太過于抽象了,此時我們可以使用韋恩圖的方式來進行驗證,我們下面來舉一個例子,A∪B)-CA∪(B-C)是否成立?我們可以通過韋恩圖來完成這個任務:我們通過這種方式來一點一點的…

小白成長之路-部署Zabbix7(二)

文章目錄一、zabbix-自動發現二、自動注冊三、zabbix-網易云郵箱-發送消息二、zabbix-釘釘告警總結一、zabbix-自動發現 1.在準備兩臺虛擬機,我的是192.168.144.12,192.168.144.13 server換成zabbix服務器的ip地址 vim /etc/zabbix/zabbix_agentd.conf 2.創建自動…

CMU15445-2024fall-project4踩坑經歷

project4目錄Task1Task2ReconstructSeqScanTask3InsertCommitTxnMgrDbgGenerateNewUndoLog And GenerateUpdateUndoLogUpdate And Delete垃圾回收Task4Index Insert并發控制Index ScanDelete、Update并發控制主鍵更新Bonus 1Bonus 2處理寫傾斜感謝CMU的教授們給我們分享了如此精…

C++20 協程

摘要:C20 引入的協程機制為異步編程提供了輕量級解決方案,其核心優勢在于通過用戶態調度實現高效的上下文切換,適用于 I/O 密集型任務、生成器模式等場景。本文系統闡述 C20 協程的底層原理與實踐要點,首先解析協程的基本結構&…

《計算機組成原理與匯編語言程序設計》實驗報告二 基本數字邏輯及漢字顯示

目 錄 一、實驗學時 二、實驗目的 三、實驗要求 四、實驗內容 五、實驗步驟 1、打開Logisim軟件,列出并行四位二進制全加器邏輯電路真值表,并使用與、或、非、異或等基本原件實現并行四位二進制全加器邏輯電路,鋪設完成后進行測試進而…

問卷調查小程序的設計與實現

問卷調查小程序的設計與實現:技術與功能全解析在數字化時代,問卷調查成為數據收集的重要工具。一款高效、易用的問卷調查小程序能夠顯著提升用戶體驗和數據質量。本文將深入探討基于現代技術棧的問卷調查小程序的設計與實現,涵蓋核心功能、技…

STM32項目實戰:正弦波

波形發生器對我的錢包不怎么友好,手里面有stm32f103c8t6,于是就想,放在哪兒吃灰也是吃灰,不如做個正弦波發生器。方案 dac沒怎么用過,所以打算使用輸出模擬正弦波。我們決定采用以下方案:1.使用TIM2_CH3(PA…

Unity 時間抗鋸齒(Temporal Antialiasing, TAA)技術解析

時間抗鋸齒(Temporal Antialiasing, TAA)技術解析 一、什么是時間抗鋸齒(TAA)? 時間抗鋸齒(TAA)是一種先進的實時抗鋸齒技術,通過在時間維度上積累多幀渲染數據,實現比傳…

uniapp打開導航軟件并定位到目標位置的實現

/*** 打開導航* param location 經緯度(例如:"117.214713,39.116884")* param address 地址*/ export function mapNavigation(location, address) {const locationArr location.split(,)const longitude locationArr[0]const latitude locationArr[1]…

Mysql實現高可用(主從、集群)

一、背景 需求:客戶要實現Mysql8.0高可用,出現故障時,需要實現自動切換。 分析:實現切換有兩種方式,一種數據庫自動切換,一種代碼實現。 本著麻煩別人,別麻煩自己的原則,得給客戶的D…

AI編程革命:自動化代碼生成、低代碼開發與智能優化實踐全景解析

AI編程革命:自動化代碼生成、低代碼開發與智能優化實踐全景解析 人工智能正在重塑軟件開發的基本范式,從自動化代碼生成到低代碼開發平臺,再到算法智能優化,AI編程技術正以指數級速度改變開發者工作方式。 一、自動化代碼生成技術…

[實戰] 用1 PPS 馴服本地恒溫晶振(OCXO/TCXO)

1 PPS 馴服本地恒溫晶振(OCXO/TCXO) “讓任何工程師都能在一周內做出自己的 GPSDO” 文章目錄1 PPS 馴服本地恒溫晶振(OCXO/TCXO)前言1 系統總體框圖2 硬件清單與連接3 時間間隔測量(TDC)原理4 數字鎖相環算…

基于RK3576+FPGA的無人機飛控系統解決方案

基于RK3576FPGA的無人機飛控系統解決方案設計如下&#xff1a;一、硬件架構設計?異構計算核心模塊?主控采用RK3576處理器&#xff0c;四核Cortex-A72&#xff08;2.3GHz&#xff09;運行路徑規劃算法&#xff08;A*、RRT*&#xff09;&#xff0c;支持動態避障響應時間<50…

2025暑期—05神經網絡-卷積神經網絡

1. 卷積神經網絡實際上就是避免過擬合&#xff0c;就是“特征”神經網絡。這個特征和卷積核相關。卷積和相關類似&#xff0c;有點是本質屬性和輸出屬性的感覺。著重注意三通道卷積padding 上下左右、前后都要加邊池化就是解決特征過多問題&#xff0c;縮小1倍較多。均值池化&a…

Elasticsearch部署全攻略:編譯安裝與 Yum 安裝實踐,日志切割及報錯處理

前言&#xff1a;在 Linux 運維工作中&#xff0c;Elasticsearch 的部署與運維是高頻需求——無論是快速搭建測試環境還是構建生產級集群&#xff0c;選擇合適的安裝方式&#xff08;編譯安裝或 Yum 安裝&#xff09;直接影響后續維護效率。同時&#xff0c;日志的合理切割能避…

TypeScript 配置參數詳解 (tsconfig.json)

文章目錄前言核心配置基本選項嚴格類型檢查選項模塊解析選項Source Map 選項實驗性選項其他選項文件包含/排除選項詳細用法示例最佳實踐建議前言 tsconfig.json 是 TypeScript 項目的配置文件&#xff0c;用于指定編譯選項和文件包含規則。以下是所有主要配置參數的中文詳解&a…

Java經典筆試題

1.計算機網絡傳輸層有哪些協議&#xff1f;分別適用于什么場景&#xff1f; TCP&#xff1a;面向連接、可靠傳輸&#xff08;重傳機制&#xff09;&#xff0c;適用于對數據完整性要求高的場景&#xff0c;如文件傳輸 &#xff08;FTP&#xff09;、HTTP 通信、郵件發送&…

如何序列化和反序列化動態 XmlElement ?

有如下XML&#xff0c;Index_0-Index_N為動態的&#xff0c;N為可變數&#xff0c;如何將對象NoneXML序列化為XML&#xff0c;以及如何將XML內容反序列化為對象NoneXML&#xff1f;1、XML內容<NoneXML><Index_0><UseInSummary>0</UseInSummary><Beg…