这是由LinuxServer.io提供的Piwigo容器,其中Piwigo是一款开源照片管理系统,具备相册组织、图片分类、标签管理、在线分享及多平台访问等功能,该容器旨在为用户提供便捷部署方式,帮助个人摄影爱好者、家庭或小型团队轻松搭建和安全管理照片库,满足高效存储与分享图片的需求,同时依托LinuxServer.io的容器优化技术,确保运行稳定且易于配置。
收藏数: 229
下载次数: 36857305
类型:
linuxserver/piwigoLinuxServer.io 团队推出的容器具有以下特点:
Piwigo 是一款网页相册管理软件,提供强大的图片发布与管理功能。
该镜像通过 Docker 清单实现多平台支持,拉取 lscr.io/linuxserver/piwigo:latest 即可自动匹配对应架构。也可通过标签指定具体架构:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<版本标签> |
| arm64 | ✅ | arm64v8-<版本标签> |
/config/keys 生成自签名密钥,可替换为自定义密钥。可通过 docker-compose 或 docker cli 启动容器。
[!注意]
除非标记为「可选」,否则所有参数为必填项。
yaml--- services: piwigo: image: lscr.io/linuxserver/piwigo:latest container_name: piwigo environment: - PUID=1000 # 用户ID(见下文说明) - PGID=1000 # 组ID(见下文说明) - TZ=Etc/UTC # 时区,例如 Asia/Shanghai volumes: - /path/to/piwigo/config:/config # 配置文件持久化路径 - /path/to/appdata/gallery:/gallery # 图片存储路径 ports: - 80:80 # WebUI 端口映射 restart: unless-stopped
bashdocker run -d \ --name=piwigo \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 80:80 \ -v /path/to/piwigo/config:/config \ -v /path/to/appdata/gallery:/gallery \ --restart unless-stopped \ lscr.io/linuxserver/piwigo:latest
容器运行参数格式为 <外部>:<内部>,具体说明如下:
| 参数 | 作用 |
|---|---|
-p 80:80 | WebUI 端口映射(主机端口:容器端口) |
-e PUID=1000 | 运行容器的用户ID,避免权限问题(见下文「用户/组ID」说明) |
-e PGID=1000 | 运行容器的组ID,同上 |
-e TZ=Etc/UTC | 时区设置,可参考 时区列表 |
-v /config | 配置文件持久化目录 |
-v /gallery | Piwigo 图片存储目录 |
可通过 FILE__<变量名> 格式从文件加载环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
此时 MYVAR 的值将从 /run/secrets/mysecretvariable 文件读取。
可通过 -e UMASK=022 覆盖容器内服务的默认 umask 值(注意 umask 是权限掩码,非直接权限设置,详情参考 umask 说明)。
使用 -v 挂载卷时,主机目录与容器内权限可能冲突。通过 PUID 和 PGID 指定与主机一致的用户/组ID,可避免此问题。
通过以下命令获取当前用户的 ID:
bashid your_user
输出示例:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
其中 uid 对应 PUID,gid 对应 PGID。
可通过 Docker Mods 扩展容器功能,相关 Mods 可查看:
容器内 Shell 访问:
bashdocker exec -it piwigo /bin/bash
实时查看日志:
bashdocker logs -f piwigo
查看容器版本:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' piwigo
查看镜像版本:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/piwigo:latest
容器需通过更新镜像并重建来更新应用(配置文件通过卷挂载可保留)。
更新镜像:
bash# 更新所有镜像 docker-compose pull # 仅更新 piwigo docker-compose pull piwigo
重启容器:
bash# 重启所有容器 docker-compose up -d # 仅重启 piwigo docker-compose up -d piwigo
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/piwigo:latest
停止并删除旧容器:
bashdocker stop piwigo docker rm piwigo
用原参数重建容器(配置文件通过卷挂载可保留),并清理旧镜像:
bashdocker image prune
[!提示]
推荐使用 Diun 接收镜像更新通知,不建议使用自动更新工具。
如需自定义镜像,可本地构建:
bashgit clone [***] cd docker-piwigo docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/piwigo:latest .
跨架构构建需先注册 qemu-static:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后指定架构 Dockerfile,例如:
bashdocker build -f Dockerfile.aarch64 -t lscr.io/linuxserver/piwigo:latest .
/app/www/public(支持自动更新)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务