go-file是一款开源的文件分享工具,仅单个可执行文件,开箱即用,可用于局域网内分享文件和文件夹,直接跑满本地带宽 。
go-file可以在以下场景进行使用:
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 20.10.17 |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下成功部署go-file文件分享工具。
检查Docker服务是否正常运行,确保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 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
检查Docker版本
[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
检查Docker compose版本,确保2.0以上版本。
[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1
在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
创建主机挂载目录
mkdir -p /data/go-file/data
设置目录权限
chmod -R 777 /data/go-file/
docker run -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /data/go-file/data:/data justsong/go-file
本次使用docker compose部署/go-file项目,编辑docker-compose.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
使用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
检查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
检查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
访问地址:http://192.168.3.166:3000,将IP替换为自己服务器IP地址。
用户名为 admin,密码为 123456
点击系统管理,分别有系统状况、账户管理、文件管理、系统设置四个选项。
点击首页菜单栏的文件模块,点击“上传”,将本地文档上传到go-file。
点击图床选项,将图片复制到图床中。
将图床中图片链接复制到浏览器中,可以正常打开。
点击右上角的“上传”选项,上传视频文件。
点击菜单栏的视频模块,选择视频文件进行播放。
在首页上传的文档文件可以在线浏览
点击首页上传文件的的复制图标,将复制的分享文件链接粘贴到其余浏览器即可访问。
总体而言,go-file文件分享工具在使用上非常不错。它可以方便地分享文件、图片、视频等各种类型的文件,并且打开速度非常快。使用Docker可以快速将该工具部署到服务器中,界面简洁,操作也很简单,即使是新手也可以立即上手使用。
我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。