当前位置: 首页 > article >正文

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

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

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

hostnameIP地址操作系统版本Docker版本
dokcer192.168.3.166centos 7.62 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Plik临时文件上传系统。

三、本地环境检查

3.1 检查Docker服务状态

检查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 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版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

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

四、下载Plik镜像

从docker hub拉取Plik镜像

[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 创建挂载目录

创建挂载目录

mkdir -p /data/plik/data

设置权限

chmod -R 777 /data/plik/

5.2 创建Plik容器

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

docker run  -d  \
--name plik \
-p 8566:8080  \
-v /data/plik/data:/home/plik/server/files  \
rootgg/plik

使用docker compose运行plik容器

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容器
[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容器正常启动。

[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服务正常运行。

[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 分享文件

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

在这里插入图片描述


http://www.kler.cn/news/148723.html

相关文章:

  • 车载以太网-DHCP
  • Python中的datetime库
  • 硬件工程师助理怎么买器件
  • 08-学成在线项目中统一异常处理的规范
  • C# WPF上位机开发(乘法计算小软件)
  • 面试:MyBatis问题
  • 论文阅读——DDeP(cvpr2023)
  • 2017年五一杯数学建模C题宜居城市问题值解题全过程文档及程序
  • Web前端开发技术:图像与多媒体文件
  • OpenCvSharp从入门到实践-(05)通道
  • ABAP算法 模拟退火
  • c语言 / 指针错误的几种情况
  • 从 0 到 1 开发一个 node 命令行工具
  • 【Linux驱动开发】环境搭建Linux驱动开发环境
  • EDA实验-----正弦信号发生器的设计(Quartus II )
  • asp.net core HttpContextAccessor类
  • springBoot的实现原理;SpringBoot是什么;使用SpringBoot的核心功能;springBoot核心注解以及核心配置文件
  • qt QString字符串常用转换
  • Vue3指令:搜索框输入防抖实现(附源码)
  • 单片机复位电路
  • 【华为OD题库-036】跳格子2-java
  • springBoot设置多数据源
  • uniapp地图基本使用及解决添加markers不生效问题?
  • Linux shell编程学习笔记31:alias 和 unalias 操作 命令别名
  • 力扣 39. 组合总和 递归解法
  • Linux处理系统常见命令
  • [个人笔记] vCenter6.7使用自建SSL证书
  • UE5 范围内随机生成
  • 1. TiDB-Operator 备份到 Minio
  • RK3566RK3568 安卓11 在framework层进行串口通信