做了一个 squoosh docker 镜像,写博客贴图直接在本地压缩文件,安全且高效
镜像是 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
即可。
欢迎使用。
压缩效果惊人 搭建一个试一下
试用了吗,google 出品,必是精品。对于那些画面像素单一但是原图 size 大的图片,这个压缩效果确实惊人,能给你省下 90%+ 的磁盘空间。
刚才试了一下 还能调参数看效果 好评
不过他们有在线服务的, https://squoosh.app/ 但我还是喜欢跑在本地,有更快的感觉(错觉)  ̄﹃ ̄
因为目前还没有隐私图片需要压缩 所以我都是用utools的图片压缩功能 比较方便