Docker Desktop + WSL2でn8nを運用している方へ向けて、バージョンアップの具体的な手順を整理しました。
「バージョンアップしたらデータが消えないのか?」
「どこでコマンドを実行すればいいの?」
「ログはどう確認する?」
この辺りを不安なく進められるよう、手順を一歩ずつ解説します。
なお、データ保存先やバージョンアップの保存先の詳細については下記記事を参考にしてみてください。
環境
- Windows 11
- Docker Desktop(WSL2 backend)
- WSL2ディストリ: Ubuntu
- n8n + Traefikをdocker-composeで起動
- データは
n8n_data
というDocker Volumeに永続化
結論:バージョンアップしてもデータは残ります
Dockerの仕組みとして
- コンテナは「使い捨て」
- ボリュームは「永続化」
です。
つまり、イメージをpullしてコンテナを入れ替えても、n8n_data
にあるdatabase.sqlite
はそのまま引き継がれます。
バージョンアップ手順
1. バックアップ(強く推奨)
アップデート前にデータを退避しておきます。
docker exec n8n tar czf /tmp/n8n_backup_$(date +%Y%m%d).tar.gz -C /home/node/.n8n .
docker cp n8n:/tmp/n8n_backup_$(date +%Y%m%d).tar.gz ./n8n_backup_$(date +%Y%m%d).tar.gz
これで作業ディレクトリにn8n_backup_YYYYMMDD.tar.gz
ができます。
2. (任意)特定バージョンを指定する
常に最新版ではなく特定バージョンを使いたい場合は、docker-compose.yml
を編集します。
例:
image: docker.n8n.io/n8nio/n8n:1.45.0
バージョンを指定しなければ最新がpullされます。
3. 最新イメージをpull
ここは必ずdocker-compose.ymlがあるディレクトリで実行してください。
cd ~/your/n8n-project-directory
docker-compose pull
✅ カレントディレクトリに
docker-compose.yml
がないとエラーになります。
4. コンテナを再作成
同じディレクトリで実行します。
docker-compose up -d
古いコンテナが止まり、新しいイメージで再作成されます。
ボリュームはそのまま引き継がれるため、データは失われません。
5. バージョンを確認
ブラウザでn8nにアクセスし、右上の「About」でバージョンを確認します。
またはCLIでも確認可能です。
docker exec -it n8n n8n --version
6. ログを確認
マイグレーションなどの進行状況を確認します。
docker-compose logs -f
確認ポイント
-
Migration finished.
(正常終了) -
ERROR
が出ていないか
7. 動作確認
- 既存ワークフローが動くか
- 新規ワークフローを作れるか
- Webhookが受けられるか
を一通りテストしておきます。
よくある質問
Q. docker-compose pullはどこで実行する?
必ずdocker-compose.yml
があるディレクトリで実行してください。
間違えると「ファイルがない」とエラーになります。
例:
cd ~/your/n8n-project-directory
docker-compose pull
Q. バージョンアップでデータは消えない?
消えません。
データはn8n_data
というDocker Volumeに永続化されています。
不安なら必ず事前にバックアップしましょう。
Q. bind mountにしたい場合は?
Windowsホストから直接データを見たい場合は、bind mountにする方法もあります。
例:
volumes:
- /mnt/c/Users/YourName/n8n_data:/home/node/.n8n
ただし、パフォーマンス低下や権限の問題が起こる可能性もあるため注意が必要です。
まとめ
Docker Desktop + WSL2環境でn8nを運用する場合、
✅ バージョンアップはpull
→up -d
の2ステップ
✅ データはVolumeに残る
✅ バックアップはコンテナ経由で取得
✅ docker-compose.yml
のある場所でコマンド実行
を守れば問題なく運用できます。
不明点や「こうすると便利だったよ」という情報があれば、ぜひコメントで教えてください!