PicList 自动图床服务部署
约 511 字大约 2 分钟
DockerDocker ComposePicListNode.js
2026-03-20
PicList 项目目前已经不是活跃维护状态,这篇更适合作为旧环境或历史部署参考。如果你是新部署,建议优先评估仍在维护的替代方案。
1. 先启动一个 Node 容器
services:
piclist:
image: node:16.20.1
container_name: piclist
restart: always
stdin_open: true
tty: truedocker compose up -d2. 进入容器安装 PicList
docker exec -it piclist bash修改国内安装源
npm config set registry https://registry.npmmirror.com/
yarn config set registry https://registry.npmmirror.com/执行安装
npm install sharp
yarn global add piclist修正脚本换行格式
如果启动脚本报出换行符或执行格式问题,再执行下面这组修复命令;如果安装过程本身正常,可以跳过这一段。
sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list
apt update
apt install dos2unix
dos2unix /usr/local/share/.config/yarn/global/node_modules/piclist/bin/picgo
dos2unix /usr/local/share/.config/yarn/global/node_modules/piclist/bin/picgo-server配置上传信息
picgo set uploader启动服务
picgo-server如果服务能正常启动,就可以继续固化镜像。
3. 打包当前镜像
这种直接 docker commit 的方式适合快速固化一个已经验证可用的旧环境,但不太适合长期维护。后续如果准备持续使用,最好还是补成 Dockerfile 或明确的安装脚本。
docker commit piclist piclist:v14. 停止临时容器
docker compose down5. 修改 compose 文件
services:
piclist:
image: piclist:v1
container_name: piclist
restart: always
command: picgo-server
stdin_open: true
tty: true其中主要变化有两点:
- 镜像改成上一步提交得到的 piclist:v1。
- 启动命令改成 picgo-server,让容器启动后直接运行服务。
6. 启动新的镜像
docker compose up -d7. 使用建议
- 这是历史方案记录,不建议把它当作默认的新项目图床方案。
- 如果上传目录或配置目录做了挂载,启动失败时优先检查目录权限,相关说明见 10.持久化文件权限问题。