设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间23 现在时间23 缓存数据 荣耀也罢,屈辱也罢,都要以平和的心态去面对,少一些无奈与感慨,多一份从容和淡然。晚安!

荣耀也罢,屈辱也罢,都要以平和的心态去面对,少一些无奈与感慨,多一份从容和淡然。晚安!

查看: 263|回复: 0

使用Docker搭建Picsur图床服务的实现

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:204
  • 打卡月天数:0
  • 打卡总奖励:3160
  • 最近打卡:2023-08-27 09:35:25
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
402
主题
369
精华
0
金钱
4342
积分
807
注册时间
2022-12-20
最后登录
2025-8-30

发表于 2025-8-29 15:54:05 | 显示全部楼层 |阅读模式
一、Picsur介绍


1.1 Picsur简介
  1. 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 CECentos 726.1.3Picsur图床工具ghcr.io/caramelfur/picsur:latest
三、本地环境检查


3.1 检查Docker服务状态
  1. 检查Docker服务是否正常运行,确保Docker正常运行。
复制代码
  1. [root@VM-8-9-centos ~]# systemctl status docker
  2. ● docker.service - Docker Application Container Engine
  3.    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  4.    Active: active (running) since Thu 2025-01-09 20:59:40 CST; 4 days ago
  5.      Docs: https://docs.docker.com
  6. Main PID: 1424 (dockerd)
  7.     Tasks: 9
  8.    Memory: 1.0G
  9.    CGroup: /system.slice/docker.service
复制代码
3.2 检查Docker版本
  1. 检查Docker版本
复制代码
  1. [root@VM-8-9-centos ~]# docker -v
  2. Docker version 26.1.3, build b72abbb
复制代码
3.3 检查docker compose 版本
  1. 检查Docker compose版本,确保2.0以上版本。
复制代码
  1. [root@VM-8-9-centos ~]# docker compose version
  2. Docker Compose version v2.27.1
复制代码
四、部署Picsur图床应用


4.1 下载Picsur镜像
  1. 我们执行以下命令,拉取Picsur容器镜像。
复制代码
  1. [root@VM-8-13-centos ~]# docker pull ghcr.io/caramelfur/picsur:latest
  2. latest: Pulling from caramelfur/picsur
  3. 43c4264eed91: Pull complete
  4. 65e1b46b2b03: Pull complete
  5. 9b2c43f8e8e6: Pull complete
  6. 4daa6557aeb9: Pull complete
  7. 222f15b4c73b: Pull complete
  8. 322b27558ba5: Pull complete
  9. d5c5383f704f: Pull complete
  10. Digest: sha256:209ce21d338cd7d9a1adc838a67695e903149359bf192359819607df1b3c4417
  11. Status: Downloaded newer image for ghcr.io/caramelfur/picsur:latest
  12. ghcr.io/caramelfur/picsur:latest
复制代码
4.2 创建部署目录


  • 创建Picsur容器的部署目录/data/picsur
  1. mkdir -p /data/picsur/data  && cd  /data/picsur/
复制代码
4.3 创建Picsur容器
  1. 本次实践使用docker compose方式部署,docker-compose.yaml部署文件内容如下:
复制代码
  1. vim docker-compose.yaml
复制代码
  1. version: '3'

  2. services:
  3.   picsur:
  4.     image: ghcr.io/caramelfur/picsur:latest
  5.     container_name: picsur
  6.     restart: always
  7.     ports:
  8.       - '9200:8080'
  9.     environment:
  10.       PICSUR_HOST: '0.0.0.0'
  11.       PICSUR_PORT: 8080
  12.       PICSUR_DB_HOST: picsur_postgres
  13.       PICSUR_DB_PORT: 5432
  14.       PICSUR_DB_USERNAME: picsur
  15.       PICSUR_DB_PASSWORD: picsur
  16.       PICSUR_DB_DATABASE: picsur
  17.       PICSUR_MAX_FILE_SIZE: 128000000


  18.   picsur_postgres:
  19.     image: postgres:14-alpine
  20.     container_name: picsur_postgres
  21.     restart: always
  22.     volumes:
  23.       - /data/picsur/data:/var/lib/postgresql/data
  24.     environment:
  25.       POSTGRES_DB: picsur
  26.       POSTGRES_PASSWORD: picsur
  27.       POSTGRES_USER: picsur
复制代码

  • 执行以下命令,创建Picsur容器。
  1. docker compose up -d
复制代码
1.jpeg


4.4 查看Picsur容器状态
  1. 检查Picsur容器状态,确保Picsur正常启动。
复制代码
  1. [root@VM-8-13-centos picsur]# docker compose ps
  2. WARN[0000] /data/picsur/docker-compose.yaml: `version` is obsolete
  3. NAME              IMAGE                              COMMAND                  SERVICE           CREATED         STATUS      PORTS
  4. 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
  5. picsur_postgres   postgres:14-alpine                 "docker-entrypoint.s…"   picsur_postgres   2 minutes ago   Up 2 minutes   5432/tcp
复制代码
4.5 查看Picsur容器日志
  1. 检查Picsur容器日志,确保Picsur服务正常运行。
复制代码
  1. docker compose logs
复制代码
2.jpeg


五、访问Picsur服务


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


5.2 登录 Picsur

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

5.jpeg

6.jpeg


六、Picsur的基本使用


6.1 上传本地图片
  1. 点击Picsur主页的“Upload Image”,上传本地图片。
复制代码
7.jpeg

8.jpeg


6.2 查看图片列表
  1. 在右上角,选择“My Images”,可以看到图片列表。
复制代码
9.jpeg


6.3 分享图片
  1. 点开图片预览,可以看到图片的分享链接,其中包括markdown等嵌入代码。
复制代码
10.jpeg

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


七、总结

通过本次实战,我们成功使用Docker快速部署了Picsur图床服务,展现了Docker在简化环境配置和提升部署效率方面的优势。整个过程操作简便,无需手动安装复杂依赖,只需几条命令即可完成服务的搭建与运行。通过浏览器访问Picsur界面,用户可以轻松实现图片上传与管理,非常适合用于个人或小型团队的图床需求。
到此这篇关于使用Docker搭建Picsur图床服务的实现的文章就介绍到这了,更多相关Docker搭建Picsur图床内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表