通過 Docker 容器化部署 n8n,實(shí)現(xiàn)環(huán)境隔離、數(shù)據(jù)持久化管理,快速搭建個人/團(tuán)隊(duì)自動化工作流平臺。

一、前置準(zhǔn)備
1.1 了解 n8n 與 Docker
- n8n:開源自托管自動化工具,通過可視化節(jié)點(diǎn)編排實(shí)現(xiàn)跨應(yīng)用數(shù)據(jù)同步(如 Slack 通知、Google Sheets 同步、API 調(diào)用等)。
- Docker:容器化技術(shù),隔離環(huán)境依賴,簡化安裝與維護(hù)(無需手動配置 Node.js 或其他運(yùn)行時)。
1.2 安裝 Docker Desktop(Mac)
Docker 是運(yùn)行 n8n 容器的前提,需先安裝 Docker Desktop:
- 訪問 Docker 官網(wǎng),下載 Mac 版本安裝包(
.dmg)。 - 雙擊安裝包,將 Docker 圖標(biāo)拖拽到
Applications文件夾。 - 啟動 Docker Desktop(通過 Launchpad 或 Spotlight 搜索),等待初始化完成(狀態(tài)欄顯示 Docker 圖標(biāo)及“Docker 正在運(yùn)行”)。
二、部署 n8n 容器
2.1 拉取 n8n 官方鏡像
打開終端(Terminal),執(zhí)行以下命令拉取最新版 n8n 鏡像:
docker pull n8nio/n8n:latest
- 若需指定版本(如
v1.24.0),替換latest為具體版本號(可從 n8n 發(fā)布頁 查看)。
2.2 啟動 n8n 容器(關(guān)鍵配置說明)
執(zhí)行以下命令啟動容器,重點(diǎn)關(guān)注數(shù)據(jù)持久化與端口映射:
docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=admin --restart unless-stopped n8nio/n8n:latest
參數(shù)詳解:
-
d:后臺運(yùn)行容器( detached mode)。 -
-name:容器別名,方便后續(xù)管理(如docker stop n8n)。 -
p:端口映射,格式為本地端口:容器端口(n8n 默認(rèn)監(jiān)聽 5678)。 -
v:數(shù)據(jù)卷映射,~/.n8n是本地 Mac 的隱藏目錄(自動創(chuàng)建),用于持久化存儲 n8n 的配置文件、工作流數(shù)據(jù)等(重要!避免容器刪除后數(shù)據(jù)丟失)。 -
e:環(huán)境變量,設(shè)置管理員賬號密碼(不設(shè)置時,首次訪問會提示隨機(jī)生成的賬號密碼,需查看容器日志獲?。?。 -
-restart unless-stopped:確保容器意外退出后自動恢復(fù)(生產(chǎn)環(huán)境推薦)。
三、驗(yàn)證安裝與訪問界面
3.1 檢查容器狀態(tài)
執(zhí)行以下命令確認(rèn)容器正常運(yùn)行:
docker ps | grep n8n
- 若顯示
Up狀態(tài)(如n8n ... Up 5 minutes),說明容器啟動成功。
3.2 訪問 n8n Web 界面
打開瀏覽器,輸入 http://localhost:5678,進(jìn)入 n8n 登錄頁:
? 若設(shè)置了 -e N8N_BASIC_AUTH_USER 和 -e N8N_BASIC_AUTH_PASSWORD,使用設(shè)置的賬號密碼登錄。
- 若未設(shè)置,首次登錄會提示隨機(jī)生成的賬號(如
admin)和密碼(查看容器日志獲?。?code>docker logs n8n)。
四、數(shù)據(jù)管理與備份
4.1 數(shù)據(jù)存儲路徑
n8n 的核心數(shù)據(jù)(工作流、配置、插件)存儲在本地 ~/.n8n 目錄下:
? ~/.n8n/.config:配置文件(如數(shù)據(jù)庫連接、郵件設(shè)置)。
-
~/.n8n/.data:工作流定義、用戶數(shù)據(jù)等。
4.2 手動備份數(shù)據(jù)
定期備份 ~/.n8n 目錄即可完整保存 n8n 數(shù)據(jù):
# 備份到其他目錄(如 ~/Backups/n8n-backup)
cp -r ~/.n8n ~/Backups/n8n-backup
4.3 恢復(fù)數(shù)據(jù)
若容器損壞或需遷移,只需將備份的 ~/.n8n 目錄覆蓋到本地,重新啟動容器即可恢復(fù)數(shù)據(jù)。
五、服務(wù)管理(啟動/停止/重啟)
通過 Docker 命令管理容器生命周期:
| 操作 | 命令 | 說明 |
|---|---|---|
| 啟動容器 | docker start n8n |
啟動已停止的容器 |
| 停止容器 | docker stop n8n |
停止運(yùn)行中的容器 |
| 重啟容器 | docker restart n8n |
重啟容器(保留數(shù)據(jù)) |
| 查看容器日志 | docker logs n8n |
查看啟動日志或錯誤信息(調(diào)試用) |
六、升級 n8n 版本
Docker 方式升級非常便捷,無需手動遷移數(shù)據(jù):
-
拉取最新鏡像(或指定版本):
docker pull n8nio/n8n:latest # 或 v1.25.0 -
停止并刪除舊容器(數(shù)據(jù)卷保留):
docker stop n8n && docker rm n8n -
用新鏡像重新啟動容器(復(fù)用原數(shù)據(jù)卷):
docker run -d \\\\ --name n8n \\\\ -p 5678:5678 \\\\ -v ~/.n8n:/home/node/.n8n \\\\ --restart unless-stopped \\\\ n8nio/n8n:latest # 使用新版本鏡像
七、注意事項(xiàng)
端口沖突:若本地 5678 端口被占用,修改
p參數(shù)(如p 8080:5678,訪問http://localhost:8080)。權(quán)限問題:若提示
Permission denied,嘗試以管理員權(quán)限運(yùn)行終端(或調(diào)整~/.n8n目錄權(quán)限:chmod -R 755 ~/.n8n)。-
安全設(shè)置:生產(chǎn)環(huán)境建議:
? 啟用 HTTPS(通過 Nginx 反向代理配置 SSL 證書);
- 修改默認(rèn)管理員密碼(避免弱密碼);
- 關(guān)閉不必要的端口(僅保留 5678)。
總結(jié)
通過 Docker 搭建 n8n 是最便捷、易管理的方式,兼顧環(huán)境隔離、數(shù)據(jù)持久化和靈活運(yùn)維。只需幾條命令即可完成部署,適合個人開發(fā)者、團(tuán)隊(duì)自動化場景。搭建完成后,通過可視化界面拖拽節(jié)點(diǎn)即可設(shè)計(jì)工作流,大幅提升跨應(yīng)用協(xié)作效率!