镜像是 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 即可。

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

image.jpg

提供一个 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 即可。

欢迎使用。