镜像是 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 .

此镜像使用起来也非常简单,一句搞定。

1
2
# docker run -d --name squoosh \ --restart unless-stopped \ -p 7701:8080 \ dko0/squoosh:1.12.0

然后访问 http://YOUR_IP:7701 即可。

squoosh Snipaste_2022-07-20_12-17-25

20220720125958

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

image.jpg


提供一个 docker-compose file

1
2
3
4
5
6
7
8
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 即可。

欢迎使用。