【Docker项目实战】使用Docker部署Plik临时文件上传系统

【Docker实战项目】使用Docker部署Plik 临时文件上传系统

  • 一、Plik介绍
    • [1.1 Plik简介](#1.1 Plik简介)
    • [1.2 Plik特点](#1.2 Plik特点)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载Plik镜像
  • 五、部署Plik临时文件上传系统
    • [5.1 创建挂载目录](#5.1 创建挂载目录)
    • [5.2 创建Plik容器](#5.2 创建Plik容器)
    • [5.3 检查plik容器状态](#5.3 检查plik容器状态)
    • [5.4 检查plik容器日志](#5.4 检查plik容器日志)
  • 六、Plik的基本使用
    • [6.1 访问Plik首页](#6.1 访问Plik首页)
    • [6.2 Plik的基本设置](#6.2 Plik的基本设置)
    • [6.3 上传测试文件](#6.3 上传测试文件)
    • [6.4 分享文件](#6.4 分享文件)

一、Plik介绍

1.1 Plik简介

Plik 是 golang 中的一个可扩展且友好的临时文件上传系统(类似 Wetransfer)。

1.2 Plik特点

  • 强大的命令行客户端
  • 易于使用的 Web UI
  • 多种数据后端:文件、OpenStack Swift、S3、Google Cloud Storage
  • 多个元数据后端:Sqlite3、PostgreSQL、MySQL
  • OneShot:文件在第一次下载后被销毁
  • 流:文件从上传器流式传输到下载器(服务器端不存储任何内容)
  • 可移动 :赋予上传者随时删除文件的能力
  • TTL : 自定义到期日期
  • 密码:使用登录名/密码保护上传(Auth Basic)
  • 注释:添加自定义消息(Markdown 格式)
  • 用户身份验证 : 本地 / Google / OVH
  • 上传限制:源IP / 令牌
  • 管理员 CLI 和 Web UI
  • 服务器端加密(使用 S3 数据后端)
  • 多架构构建和 docker 镜像
  • 分享X上传器:直接集成到 ShareX 中
  • plikSharp:Plik 的 .NET API 客户端
  • Filelink for Plik : Thunderbird 插件将附件上传到 Plik

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
dokcer 192.168.3.166 centos 7.6 2 20.10.17

2.2 本次实践介绍

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

2.在Docker环境下部署Plik临时文件上传系统。

三、本地环境检查

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 Wed 2023-11-22 17:32:04 CST; 6 days ago
     Docs: https://docs.docker.com
 Main PID: 11795 (dockerd)
    Tasks: 33
   Memory: 164.9M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载Plik镜像

从docker hub拉取Plik镜像

bash 复制代码
[root@jeven ~]# docker pull rootgg/plik
Using default tag: latest
latest: Pulling from rootgg/plik
188c0c94c7c5: Pull complete
f96bea0e51ed: Pull complete
ae9f8219d19c: Pull complete
d803b156e271: Pull complete
aaef3faf0191: Pull complete
Digest: sha256:8d88186c07c9aa67c5db2062920be6eb04f975c75257589381e82149c5a4a796
Status: Downloaded newer image for rootgg/plik:latest
docker.io/rootgg/plik:latest

五、部署Plik临时文件上传系统

5.1 创建挂载目录

创建挂载目录

bash 复制代码
mkdir -p /data/plik/data

设置权限

bash 复制代码
chmod -R 777 /data/plik/

5.2 创建Plik容器

使用docker-cli快速部署plik容器

bash 复制代码
docker run  -d  \
--name plik \
-p 8566:8080  \
-v /data/plik/data:/home/plik/server/files  \
rootgg/plik

使用docker compose运行plik容器

yaml 复制代码
version: "3"
services:
  plik:
    image: rootgg/plik
    container_name: plik
    ports:
      - "8566:8080"
    volumes:
      - /data/plik/data:/home/plik/server/files
  • 使用docker-compose.yaml文件创建plik容器
bash 复制代码
[root@jeven plik]# docker compose up -d
[+] Running 2/2
 ⠿ Network plik_default  Created                                                                                        0.3s
 ⠿ Container plik        Started                                                                                        1.8s

5.3 检查plik容器状态

检查plik容器状态,确保plik容器正常启动。

bash 复制代码
[root@jeven plik]#  docker compose ps
NAME                COMMAND                SERVICE             STATUS              PORTS
plik                "/bin/sh -c ./plikd"   plik                running             0.0.0.0:8566->8080/tcp, :::8566->8080/tcp

5.4 检查plik容器日志

检查plik容器日志,确保plik服务正常运行。

bash 复制代码
[root@jeven plik]#  docker compose logs
plik  | [11/28/2023 12:21:13][INFO    ] Starting plikd server v1.3.1
plik  | [11/28/2023 12:21:13][INFO    ] Starting server at http://0.0.0.0:8080
plik  | [11/28/2023 12:21:13][INFO    ] Will clean old uploads in 10677 seconds.

六、Plik的基本使用

6.1 访问Plik首页

访问地址:http://192.168.3.166:8566/,将IP换为自己服务器IP地址。

6.2 Plik的基本设置

在左侧第一个选项,点击启动后,第一次下载,文件立即从服务器删除。

在左侧第二个选项,点击启动后,开启流媒体。

在左侧第三个选项,点击启用后,上传者可以删除文件。

在左侧第四个选项,点击启用后,上传和下载之前需要输入密码。

在左侧第五个选项,点击启用后,可以在上传的内容中添加评论。

6.3 上传测试文件

将所有Plik设置选项都设置关闭状态

点击上传文件


6.4 分享文件

复制文件链接到其他电脑即可下载。

相关推荐
门前灯5 分钟前
Linux系统之iprconfig 命令详解
linux·运维·服务器·iprconfig
tb_first29 分钟前
k8sday09
linux·云原生·容器·kubernetes
忧郁的橙子.31 分钟前
三、k8s 1.29 之 安装2
linux·运维·服务器
huangyuchi.1 小时前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作
闻不多1 小时前
用llamaindex搭建GAR遇到400
android·运维·服务器
jim写博客1 小时前
Linux进程概念(四)环境地址变量
linux·运维·服务器
是小崔啊2 小时前
【Jenkins】01 - Jenkins安装
运维·jenkins
Nie_Xun2 小时前
ubuntu网络共享
linux·运维·ubuntu
天上掉下来个程小白3 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
花小璇学linux3 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发