首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Docker项目实战】使用Docker搭建Picsur图床服务

【Docker项目实战】使用Docker搭建Picsur图床服务

原创
作者头像
江湖有缘
发布2025-04-22 21:59:55
发布2025-04-22 21:59:55
8350
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、Picsur介绍

1.1 Picsur简介

Picsur是一款类似Imgur的自托管图片分享服务,内置强大的图片转换与编辑功能,确保用户能够轻松管理个人或团队的图像资源。

1.2 主要特点

  • 图片上传与查看:支持匿名及注册用户上传和查看图片。
  • 用户账户系统:提供用户账号创建,方便个性化管理和隐私保护。
  • 角色与权限管理:具备灵活的用户角色和权限设定,便于多用户环境下的管理。
  • 安全的跨域资源共享(CORS):实施适当的CORS策略,保障数据安全。
  • 元数据清理:自动移除图片中的EXIF信息,保护用户隐私。
  • 原图保存选项:允许用户选择是否保留原始图片文件。
  • 多格式支持:兼容QOI、JPG、PNG、WEBP(含动画)、TIFF、BMP、GIF(含动画)等多种图像格式。
  • 图片转换功能:提供图片转换选项,如调整尺寸、旋转、翻转、去除透明度、负片效果及灰度化处理。
  • 图片删除功能:用户可以删除不再需要的图片,保持账户整洁。
  • 数据库迁移支持:确保软件升级时数据平滑迁移,无后顾之忧。
  • 个人图片列表:用户可以轻松查看自己上传的所有图片。
  • 聊天应用预览优化:优化图片在各类聊天应用中的预览效果,提升用户体验。
  • 图片过期机制:支持设置图片的有效期限,到期自动删除。
  • ShareX集成:提供ShareX插件支持,方便快捷地上传图片。
  • 多架构Docker镜像:为ARM64和AMD64架构提供Docker镜像,便于不同平台的部署。

二、本次环境规划

2.1 本次实践简介

1.本次实践为个人测试学习环境,旨在新手快速上云和部署应用,生产环境请谨慎;

2.本次实践环境为腾讯云轻量应用服务器,在Docker环境下部署Picsur图床工具。

2.2 本次环境规划

  • 本次实践的环境规划如下:

云厂商

云产品

应用模版

操作系统版本

Docker版本

部署项目

容器镜像名称

腾讯云

轻量应用服务器

Docker CE

Centos 7

26.1.3

Picsur图床工具

ghcr.io/caramelfur/picsur:latest

三、本地环境检查

3.1 检查Docker服务状态

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

代码语言:bash
复制
[root@VM-8-9-centos ~]# 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 Thu 2025-01-09 20:59:40 CST; 4 days ago
     Docs: https://docs.docker.com
 Main PID: 1424 (dockerd)
    Tasks: 9
   Memory: 1.0G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

代码语言:bash
复制
[root@VM-8-9-centos ~]# docker -v
Docker version 26.1.3, build b72abbb

3.3 检查docker compose 版本

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

代码语言:bash
复制
[root@VM-8-9-centos ~]# docker compose version
Docker Compose version v2.27.1

四、部署Picsur图床应用

4.1 下载Picsur镜像

我们执行以下命令,拉取Picsur容器镜像。

代码语言:bash
复制
[root@VM-8-13-centos ~]# docker pull ghcr.io/caramelfur/picsur:latest
latest: Pulling from caramelfur/picsur
43c4264eed91: Pull complete
65e1b46b2b03: Pull complete
9b2c43f8e8e6: Pull complete
4daa6557aeb9: Pull complete
222f15b4c73b: Pull complete
322b27558ba5: Pull complete
d5c5383f704f: Pull complete
Digest: sha256:209ce21d338cd7d9a1adc838a67695e903149359bf192359819607df1b3c4417
Status: Downloaded newer image for ghcr.io/caramelfur/picsur:latest
ghcr.io/caramelfur/picsur:latest

4.2 创建部署目录

  • 创建Picsur容器的部署目录/data/picsur
代码语言:bash
复制
 mkdir -p /data/picsur/data  && cd  /data/picsur/

4.3 创建Picsur容器

本次实践使用docker compose方式部署,docker-compose.yaml部署文件内容如下:

代码语言:bash
复制
vim docker-compose.yaml
代码语言:yaml
复制
version: '3'

services:
  picsur:
    image: ghcr.io/caramelfur/picsur:latest
    container_name: picsur
    restart: always
    ports:
      - '9200:8080'
    environment:
      PICSUR_HOST: '0.0.0.0'
      PICSUR_PORT: 8080
      PICSUR_DB_HOST: picsur_postgres
      PICSUR_DB_PORT: 5432
      PICSUR_DB_USERNAME: picsur
      PICSUR_DB_PASSWORD: picsur
      PICSUR_DB_DATABASE: picsur
      PICSUR_MAX_FILE_SIZE: 128000000


  picsur_postgres:
    image: postgres:14-alpine
    container_name: picsur_postgres
    restart: always
    volumes:
      - /data/picsur/data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: picsur
      POSTGRES_USER: picsur
  • 执行以下命令,创建Picsur容器。
代码语言:bash
复制
docker compose up -d
在这里插入图片描述
在这里插入图片描述

4.4 查看Picsur容器状态

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

代码语言:bash
复制
[root@VM-8-13-centos picsur]# docker compose ps
WARN[0000] /data/picsur/docker-compose.yaml: `version` is obsolete
NAME              IMAGE                              COMMAND                  SERVICE           CREATED         STATUS      PORTS
picsur            ghcr.io/caramelfur/picsur:latest   "docker-entrypoint.s…"   picsur            2 minutes ago   Up 2 minutes   0.0.0.0:9200->8080/tcp, :::9200->8080/tcp
picsur_postgres   postgres:14-alpine                 "docker-entrypoint.s…"   picsur_postgres   2 minutes ago   Up 2 minutes   5432/tcp

4.5 查看Picsur容器日志

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

代码语言:bash
复制
docker compose logs
在这里插入图片描述
在这里插入图片描述

五、访问Picsur服务

5.1 访问Picsur初始页

访问地址http://弹性公网IP地址9200,将IP地址替换为自己服务器的弹性公网IP地址。此时,我们可以正常Picsur的初始页,如果无法访问到此页面,请检查本地服务器防护墙是否关闭或放行相关端口。注意,在云服务器部署时,还需要设置安全组规则,放行相关服务端口。

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

5.2 登录 Picsur

点击右上角的“Login”按钮,使用默认用户名admin和在部署文件环境变量PICSUR_ADMIN_PASSWORD中设置的密码登录,这里设置的登录密码为picsur,确认登录即可。

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

六、Picsur的基本使用

6.1 上传本地图片

点击Picsur主页的“Upload Image”,上传本地图片。

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

6.2 查看图片列表

在右上角,选择“My Images”,可以看到图片列表。

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

6.3 分享图片

点开图片预览,可以看到图片的分享链接,其中包括markdown等嵌入代码。

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

在其他浏览器打开图片分享的链接,可以正常浏览图片。

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

七、总结


通过在腾讯云轻量应用服务器上部署Picsur图床工具,可以显著体验到其开箱即用的便捷性和高效性。腾讯云轻量应用服务器不仅简化了部署流程,还通过优化的资源配置和高带宽流量包,确保了Picsur运行的稳定与流畅。一键构建应用的功能,使得即使是云计算新手也能快速上手,轻松完成复杂的服务部署。此外,腾讯云轻量应用服务器提供的全面支持和文档,进一步降低了维护成本,使个人和企业都能专注于核心业务的发展。这次实践证明,腾讯云轻量应用服务器是部署和管理如Picsur这类应用的理想选择。


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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Picsur介绍
    • 1.1 Picsur简介
    • 1.2 主要特点
  • 二、本次环境规划
    • 2.1 本次实践简介
    • 2.2 本次环境规划
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、部署Picsur图床应用
    • 4.1 下载Picsur镜像
    • 4.2 创建部署目录
    • 4.3 创建Picsur容器
    • 4.4 查看Picsur容器状态
    • 4.5 查看Picsur容器日志
  • 五、访问Picsur服务
    • 5.1 访问Picsur初始页
    • 5.2 登录 Picsur
  • 六、Picsur的基本使用
    • 6.1 上传本地图片
    • 6.2 查看图片列表
    • 6.3 分享图片
  • 七、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档