最近需要把一套 Docker 单容器运行的 n8n,从 1.123.40 升级到 2.33.7。乍看只是换一个镜像标签,真正动手后才发现:跨大版本升级的重点从来不是启动新容器,而是确认数据边界、提前暴露兼容问题,以及准备一条真的能走通的回滚路径。
这篇记录一套适用于“小型自建实例 + SQLite + Docker named volume”的稳妥迁移方法。PostgreSQL、queue mode、多 worker 等部署不在本文范围内。文中的目录、容器名和数据卷都是通用示例,不包含真实服务器信息。
先给结论:
1 | 1.123.40 |
官方没有要求逐个 2.x 小版本升级,也没有为每一对跨版本组合单独背书。本文选择 1.123.69 作为预检过渡点,再进入 2.33.7。这不是数据库迁移的强制分段,而是为了先用 1.x 的 Migration Report 和 task runner 行为做一次低成本预演。