搭建属于你的照片云: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。

相关推荐
小p1 天前
docker学习: 1. docker基本使用
docker
崔小汤呀1 天前
Docker部署Nacos
docker·容器
缓解AI焦虑1 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter2 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
BugShare2 天前
继《小爱音响》详细说下怎么部署,尤其是关于Docker部分
docker·nas·xiaomusic
至此流年莫相忘2 天前
Kubernetes实战篇之配置与存储
云原生·容器·kubernetes
小马爱打代码2 天前
Docker:完全指南从入门到精通
运维·docker·容器
ITKEY_2 天前
docker 容器端口映射消失
docker·容器