【Docker项目实战】使用Docker部署PicoShare共享文件平台

简介: 【4月更文挑战第5天】使用Docker部署PicoShare共享文件平台

一、PicoShare介绍

1.1 PicoShare简介

PicoShare是一种极简、易于托管的服务,用于共享图像和其他文件。

1.2 PicoShare优点

  • 直接下载链接:PicoShare 为您提供可以与任何人共享的直接下载链接。他们可以在没有广告或注册的情况下查看或下载文件。
  • 没有文件限制:与 imgur、Vimeo 或 SoundCloud 等只允许您共享特定类型文件的网站不同,PicoShare 允许您共享任何大小的任何文件。
  • 无需调整大小/重新编码:如果您上传图像、视频或音频等媒体,PicoShare 绝不会强迫您等待重新编码。上传文件后,您会立即获得直接下载链接,PicoShare 绝不会调整文件大小或重新编码您的文件。

1.3 PicoShare使用场景

  • 在工作场所共享文件:PicoShare可以用于在团队内部共享图像和其他文件。团队成员可以上传和下载文件,以便轻松地共享项目资料、设计文件、报告等。这样可以提高团队合作和协作效率。

  • 在个人博客或网站上展示图片:PicoShare可以用于个人博客或网站上展示图片。用户可以将图片上传到PicoShare,并使用PicoShare提供的链接将图片嵌入到自己的博客或网站中。

  • 在社交媒体上分享图片:PicoShare可以用于在社交媒体平台上分享图片。用户可以将图片上传到PicoShare,并使用PicoShare提供的链接在社交媒体上分享给朋友、粉丝或关注者。

  • 在论坛或社区分享图片:PicoShare可以用于在论坛或社区分享图片。用户可以将图片上传到PicoShare,并将链接分享给论坛或社区的其他成员,以便展示、讨论或解答问题。

  • 在移动设备上传输文件:PicoShare可以用于在移动设备之间传输文件。用户可以将文件上传到PicoShare,并使用PicoShare提供的链接在不同设备之间进行传输和共享。

  • 进行临时文件共享:PicoShare可以用于临时文件共享,例如在会议上传递资料或在团队合作临时需要共享文件的场合。

二、本地环境介绍

2.1 本地环境规划

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

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

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署PicoShare工具。

三、本地环境检查

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 Sun 2024-01-21 14:36:20 CST; 24h ago
     Docs: https://docs.docker.com
 Main PID: 70926 (dockerd)
    Tasks: 22
   Memory: 59.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

四、下载PicoShare镜像

从docker hub拉取PicoShare镜像

[root@jeven ~]# docker pull  mtlynch/picoshare
Using default tag: latest
latest: Pulling from mtlynch/picoshare
3695f6c099b8: Pull complete
310a6e8c94e1: Pull complete
5f31d7ececf5: Pull complete
29a0c806d8ab: Pull complete
fd5cc2ea1e0b: Pull complete
53f5193c4004: Pull complete
39f1be42c455: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:0373b57465518a26429891831f993752a7b51bb18d581b6b06527ea478fb6ab5
Status: Downloaded newer image for mtlynch/picoshare:latest
docker.io/mtlynch/picoshare:latest

五、部署PicoShare

5.1 创建部署目录

创建部署目录/data/picoshare

mkdir -p /data/picoshare  && cd /data/picoshare

5.2 编辑docker-compose.yaml文件

使用docker-cli方式部署,执行命令如下:

docker run \
  --env "PORT=4001" \
  --env "PS_SHARED_SECRET=somesecretpass" \
  --publish 4001:4001/tcp \
  --volume "${PWD}/data:/data" \
  --name picoshare \
  mtlynch/picoshare

本次实践部署使用docker compose方式,编辑docker-compose.yaml文件,可自行修改密码和映射端口。

version: "3.2"
services:
  picoshare:
    image: mtlynch/picoshare
    restart: always
    environment:
      - PORT=4001
      - PS_SHARED_SECRET=admin # Change to any password
    ports:
      - 4261:4001
    command: -db /data/store.db
    volumes:
      - ./data:/data

5.3 创建PicoShare容器

使用docker-compose.yaml文件创建PicoShare容器

docker compose up -d

在这里插入图片描述

5.4 检查PicoShare容器状态

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

[root@jeven picoshare]# docker compose ps
NAME                    COMMAND                  SERVICE             STATUS              PORTS
picoshare-picoshare-1   "/app/docker-entrypo…"   picoshare           running             0.0.0.0:4261->4001/tcp, :::4261->4001/tcp

5.5 检查PicoShare容器日志

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

docker compose logs

在这里插入图片描述

六、访问PicoShare首页

6.1 进入PicoShare登录页

访问地址:http://192.168.3.166:3000,将IP替换为自己服务器IP地址,进入到PicoShare首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。点击右上角登录选项,进入PicoShare登录页。

在这里插入图片描述

6.2 访问PicoShare首页

填写之前在docker-compose.yaml中自定义的密码,进入PicoShare首页。

在这里插入图片描述
在这里插入图片描述

七、PicoShare的基本使用

7.1 上传文件

点击上传文件选项,将本地文件上传到PicoShare。

在这里插入图片描述

在这里插入图片描述

7.2 查看分享文件

复制文件的分享链接,将分享链接发送给其他人。

在这里插入图片描述

在浏览器打开文件分享链接,则可以在线预览文件,也可以点击下载分享文件。

在这里插入图片描述

7.3 查看文件列表

点击上方的“Files”模块,可以看到所有上传的文件列表。

在这里插入图片描述

7.4 创建访客链接

选择“Guest Links”模块,访客链接允许其他用户将文件上传到此 PicoShare 服务器无需登录。如果想让某人轻松找到一种方式,通过访客链接来共享文件。

  • 选择新建访客链接

在这里插入图片描述

  • 填写访客链接相关信息,确认创建。

在这里插入图片描述

  • 查看访客链接列表

在这里插入图片描述

  • 通过访客链接,不登录上传文件。

在这里插入图片描述
在这里插入图片描述

7.5 查看磁盘空间大小

system——Disk Usage,查看磁盘使用情况。

在这里插入图片描述
在这里插入图片描述

八、总结

PicoShare是一款轻量级的文件共享工具,为我们的日常工作与学习提供了很大的便利。它具有直观简洁的界面,操作也非常简单,能够快速上传文件。特别是访客链接的功能,使得我们可以方便地分享临时文件,免去了其他人的登录步骤,非常实用。此外,PicoShare能够快速打开共享文件,共享链接的有效期还可以自定义,根据需要设置链接的过期时间,非常符合我们的需求。总的体验下来,PicoShare是一款优秀的文件共享工具,值得一用!

相关文章
|
16天前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
76 18
|
23天前
|
前端开发 数据安全/隐私保护 计算机视觉
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
MAZANOKE 是一款简易的图片优化工具,它直接在浏览器中运行,支持离线使用,并确保您的图片始终保留在设备上,绝不外泄。 这款专为普通人设计的工具,适合与亲友分享使用,是那些来路不明的"免费"在线工具的可靠替代品。
38 1
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
|
2月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
195 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
|
18天前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
75 12
|
2月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
126 10
|
1月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
2月前
|
开发者 Docker 容器
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
104 17
|
2月前
|
关系型数据库 MySQL Docker
|
3月前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
151 27
|
6月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
555 93