搭建属于你的照片云:Docker 部署 PiGallery2 全流程

【Docker项目实战】使用Docker部署pigallery照片管理系统

  • 一、pigallery2介绍
  • 二、本地环境介绍
    • [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 版本)
  • 四、下载pigallery2镜像
  • 五、部署pigallery2
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑pigallery2部署文件](#5.2 编辑pigallery2部署文件)
    • [5.3 创建pigallery2容器](#5.3 创建pigallery2容器)
    • [5.4 检查pigallery2容器状态](#5.4 检查pigallery2容器状态)
    • [5.5 检查pigallery2容器日志](#5.5 检查pigallery2容器日志)
  • 六、访问pigallery2首页
    • [6.1 进入pigallery2登录页](#6.1 进入pigallery2登录页)
    • [6.2 访问pigallery2首页](#6.2 访问pigallery2首页)
    • [6.3 上传图片](#6.3 上传图片)
  • 七、总结

一、pigallery2介绍

1.1 pigallery2简介

pigallery2一个快速的目录优先照片库网站,具有丰富的用户界面,针对在低资源服务器(尤其是在树莓派)上运行进行了优化。

1.2 pigallery2特点

✔️ 优势

  • ⚡ 快,就像真的一样。
  • ✔️ 简单。指向您的照片文件夹和临时文件夹,您就可以开始了。

⛔ 弱点:

  • 😥 这很简单。显示你所拥有的,仅此而已。没有图库更改(照片删除、旋转、增强、标记、组织等),您的图库文件夹是只读的。
  • 📁 针对具有 <100K 照片和 <5k 照片/文件夹的画廊进行了优化。它将在更大的画廊上工作,但它会开始放慢速度。

1.3pigallery2使用场景

  • 个人照片收藏:你可以使用PiGallery2来创建自己的照片库,并将照片按照目录进行组织。你可以随时浏览和查找自己的照片。

  • 家庭相册:你可以将家庭成员的照片整理到一个独立的目录中,并使用PiGallery2来共享给家庭成员。他们可以通过浏览器访问照片,并留下评论和标记喜欢的照片。

  • 照片展览:如果你是一个摄影师或者艺术家,你可以使用PiGallery2来创建一个在线照片展览。你可以创建不同的相册,展示你的作品,并与观众进行互动。

  • 学术研究:研究人员可以使用PiGallery2来整理和展示与他们的研究项目相关的照片。他们可以将照片按照不同的主题或者实验进行分类,并在照片上添加标签和注释。

二、本地环境介绍

2.1 本地环境规划

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

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

2.2 本次实践介绍

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

2.在Docker环境下部署pigallery2照片管理系统。

三、本地环境检查

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: activating (start) since Tue 2024-02-06 14:02:01 CST; 26s ago
     Docs: https://docs.docker.com
 Main PID: 11739 (dockerd)
    Tasks: 9
   Memory: 109.4M
   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

四、下载pigallery2镜像

从docker hub拉取 bpatrik/pigallery2:latest镜像

bash 复制代码
[root@jeven ~]# docker pull   bpatrik/pigallery2:latest
latest: Pulling from bpatrik/pigallery2
Digest: sha256:968474853af12d64843c5a2170f34fa4082c2a87b32fc61657b793d554d28a9b
Status: Image is up to date for bpatrik/pigallery2:latest
docker.io/bpatrik/pigallery2:latest

五、部署pigallery2

5.1 创建部署目录

创建部署目录/data/pigallery2/

bash 复制代码
mkdir -p /data/pigallery2/  && cd /data/pigallery2/

5.2 编辑pigallery2部署文件

可以使用docker-cli创建pigallery2容器

bash 复制代码
docker run \
   -p 8022:80 \
   -restart always \
   --name pigallery2 \
   -e NODE_ENV=production \
   -v /data/pigallery2/config:/app/data/config \
   -v /data/pigallery2/db:/app/data/db \
   -v  /data/pigallery2/tmp:/app/data/tmp \
    -v  /data/pigallery2/images:/app/data/images \
   bpatrik/pigallery2:latest

本次实践部署使用docker compose方式,编辑docker-compose.yaml部署文件。

yaml 复制代码
version: '3'
services:
  pigallery2:
    image: bpatrik/pigallery2:latest
    ports:
      - 8022:80
    restart: always
    environment:
      - NODE_ENV=production
    volumes:
      - /data/pigallery2/config:/app/data/config
      - /data/pigallery2/db:/app/data/db
      - /data/pigallery2/tmp:/app/data/tmp
      - /data/pigallery2/images:/app/data/images

5.3 创建pigallery2容器

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

bash 复制代码
[root@jeven pigallery2]# docker compose up -d
[+] Running 2/2
 ⠿ Network pigallery2_default         Created                                                                                                   0.0s
 ⠿ Container pigallery2-pigallery2-1  Started                                                                                                   1.5s

5.4 检查pigallery2容器状态

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

bash 复制代码
[root@jeven pigallery2]# docker compose ps
NAME                      COMMAND                  SERVICE             STATUS               PORTS
pigallery2-pigallery2-1   "node ./src/backend/..."   pigallery2          running (starting)   0.0.0.0:8022->80/tcp, :::8022->80/tcp

5.5 检查pigallery2容器日志

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

bash 复制代码
[root@jeven pigallery2]# docker compose logs
pigallery2-pigallery2-1  | 2/6/2024, 6:29:06 AM[INFO] [server] running diagnostics...
pigallery2-pigallery2-1  | (node:1) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
pigallery2-pigallery2-1  | (Use `node --trace-warnings ...` to show where the warning was created)
pigallery2-pigallery2-1  | 2/6/2024, 6:29:06 AM[INFO] Updating database scheme
pigallery2-pigallery2-1  | (node:20) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
pigallery2-pigallery2-1  | (Use `node --trace-warnings ...` to show where the warning was created)
pigallery2-pigallery2-1  | 2/6/2024, 6:29:11 AM[INFO] [JobManager] Running job schedules
pigallery2-pigallery2-1  | 2/6/2024, 6:29:11 AM[INFO] [server] Listening on port 80

六、访问pigallery2首页

6.1 进入pigallery2登录页

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

6.2 访问pigallery2首页

默认登录账号为admin/admin,输入账号admin/admin

6.3 上传图片

进入宿主机的/data/pigallery2/images目录下,上传本地图片到该目录下。

bash 复制代码
[root@jeven images]# pwd
/data/pigallery2/images
[root@jeven images]# ls
中秋图片.jpg  春节.jpg

刷新pigallery2首页,可以看到上传的图片。

七、总结

PiGallery2是一个快速的目录优先照片库网站。它专门针对在低资源服务器上(如树莓派)进行了优化。PiGallery2的部署非常简单,用户界面简单直观。它具有快速的图片加载速度和页面响应速度,让用户可以快速浏览照片。通过目录浏览功能,用户可以迅速找到所需的照片。如果你有这方面的需求,不妨尝试使用PiGallery2。

相关推荐
The star"'2 小时前
kubernetes的概述,部署方式,基础命令,核心部件
云原生·容器·kubernetes·云计算
rustfs2 小时前
RustFS 配置 Cloudflare Tunnel 实现安全访问的详细教程!
分布式·安全·docker·rust·开源
landonVM2 小时前
使用 DockerSlim 优化/专业 Docker 容器镜像
运维·docker·容器
江湖有缘2 小时前
Docker部署miniboard轻量级监控仪表板
docker·容器·eureka
xuefeiniao3 小时前
docker mysql模式sql-mode不生效
sql·mysql·docker
KubeSphere 云原生3 小时前
云原生周刊:对 Docker 镜像的更改持久保存
docker·云原生·容器
weixin_449290013 小时前
EverMemOS Docker 运行环境搭建指南
运维·docker·容器
weixin_462446233 小时前
在 Linux / macOS 下使用 Docker 快速部署 PaddlePaddle + 运行 PaddleOCR 表格 PDF 解析示例
linux·macos·docker·paddleocr
春日见3 小时前
C++单例模式 (Singleton Pattern)
java·运维·开发语言·驱动开发·算法·docker·单例模式