前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Docker项目实战】在Docker环境下部署go-file文件分享工具

【Docker项目实战】在Docker环境下部署go-file文件分享工具

原创
作者头像
江湖有缘
修改2023-12-23 15:48:16
5931
修改2023-12-23 15:48:16
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、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。

hostname

IP地址

操作系统版本

Docker版本

jeven

192.168.3.166

centos 7.6

20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下成功部署go-file文件分享工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

代码语言:bash
复制
[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 Fri 2023-12-08 19:10:36 CST; 14h ago
     Docs: https://docs.docker.com
 Main PID: 11729 (dockerd)
    Tasks: 8
   Memory: 126.8M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

代码语言:bash
复制
[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

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash
复制
[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下载go-file镜像

在docker hub下载go-file镜像

代码语言:bash
复制
[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 创建挂载目录

创建主机挂载目录

代码语言:bash
复制
 mkdir -p /data/go-file/data

设置目录权限

代码语言:bash
复制
chmod -R 777 /data/go-file/

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

  • docker-cli创建go-file容器
代码语言:bash
复制
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部署文件。

代码语言:yaml
复制
version: '3.8'
services:
  go-file:
    image: justsong/go-file
    restart: always
    ports:
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /data/go-file/data:/data

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

使用docker compose创建go-file容器

代码语言:bash
复制
[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容器状态

代码语言:bash
复制
[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服务正常运行。

代码语言:bash
复制
[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可以快速将该工具部署到服务器中,界面简洁,操作也很简单,即使是新手也可以立即上手使用。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、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 分享文件
                                                • 七、总结
                                                相关产品与服务
                                                容器镜像服务
                                                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                                领券
                                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                                http://www.vxiaotou.com