安利一个部署工具: kamal

刚刚部署后发现服务器疯狂报错,一键回滚,开始慢慢 debug。我用的是 kamal,让我生活变得更美好。因此写了这篇文章。

什么样的场景适合?

如果你之前 docker compose 部署就很满意了,那么大概率 kamal 也适合你。kamal 弥补了 docker compose 的一些不足,同时还保持了简单。可参考下面的对照表

docker compose kamal
配置文件 docker-compose.yml config/deploy.yml
Dockerfile 支持 支持
构建镜像 当前机器 可以设置远程机器
源码版本 最新文件 最后一次 git commit 的文件
运行环境 生产环境服务器 本地自动 ssh 连上远程,支持多服务器,类似 ansible
多个进程 --scale 已被废止 很遗憾不支持
证书自动生成
平滑部署
一台机器部署多个网站 得用不同端口 可以同一个,因为带 proxy
自动回滚 不行
部署多台机器 需要 docker swarm 支持

Kamal 是 37signals 的开源产品。
官方网站:https://kamal-deploy.org

如果你需要类似 Vercel 的 UI 界面,像 CoolifyDokploy 这样的方案更适合你。