warning: 这篇文章距离上次修改已过1405天,其中的内容可能已经有所变动。
镜像是 dko0/squoosh:1.12.0 或者 dko0/squoosh:latest 。
docker hub: https://hub.docker.com/r/dko0/squoosh
GitHub: https://github.com/hellodk34/squoosh
- 安全,图片只在本地浏览器,不会上传到任何服务器
- 高效,squoosh 压缩效率惊人,图片品质却没有损失多少,配合各种压缩选项和品质设置,自由度很高。这波必须赞美 https://github.com/GoogleChromeLabs/squoosh
之前看到 V2EX 有个帖子 压缩图片文件大小有什么好的方案? 我刚好有这个需求,于是在 docker hub 搜了一下发现居然没有可用的镜像,试了几个跑不起来,比如 downloads 最多的 https://hub.docker.com/r/victor141516/squoosh 。然后只好自己动手。
使用 docker buildx build,支持 amd64 arm64 和 arm v7 架构,应该满足绝大多数用户的使用场景了。
# docker buildx build -f ./Dockerfile -t NAMESPACE/squoosh:1.12.0 --platform=linux/arm64,linux/amd64,linux/arm/v7 .
此镜像使用起来也非常简单,一句搞定。
# docker run -d --name squoosh \
--restart unless-stopped \
-p 7701:8080 \
dko0/squoosh:1.12.0
然后访问 http://YOUR_IP:7701 即可。


我测试了一个 10MB 的风景图片(iPhone 12 拍摄),直接压缩到了 739KB,quality 是默认的 75,其他选项也都是默认设置,乍一看看不出来画质太大的下降,不仅支持文件上传/拖拽,还能直接从剪贴板 control/command + V,非常不错。我现在写博客使用自己的图床,以后贴图可以多考虑考虑压缩一下图片体积了。

提供一个 docker-compose file
cat > squoosh-compose.yml <<EOF
version: '3'
services:
squoosh:
image: dko0/squoosh:1.12.0
container_name: squoosh
networks:
- squoosh-net
ports:
- 7701:8080
restart: unless-stopped
networks:
squoosh-net:
EOF
然后 docker-compose -f ./squoosh-compose.yml up -d 即可。
欢迎使用。
























