不上雲、不付月費、不把資料交給別人。Docker 抓下來,WSL 喬一喬,n8n 拉進來。十二步走完,自家機器裡長出一座自動化小工坊。
分兩段。第一段先把 Docker 裝好(PART 1,五步),這段會卡在 WSL 更新,照做就過。第二段用 Docker 跑 n8n(PART 2,五步),全程在 Docker 的圖形介面點一點就好,不用打任何指令。
n8n 是一個「自動化工具」。比方說,你每天要做的事像是「收到信就存進 Google Sheet」「IG 有人留言就通知 LINE」這種,本來要自己手動做,n8n 可以幫你串好,自己跑。
Docker 就像是一個「程式專用的便當盒」。你要的程式(這次是 n8n)跟它要用的東西全部裝在便當盒裡,不會弄髒你電腦本來的環境。要關掉就把便當盒丟掉,乾乾淨淨。
WSL 是 Windows 為了讓 Docker 這種便當盒可以跑,特別準備的「廚房」。Docker 想煮便當之前,廚房要先準備好,所以一開始會跳「廚房太舊要更新」的提示。
為什麼要這樣搞,不直接用網路上的 n8n 雲端版?三個原因:第一,雲端版每月要錢,地端版完全免費。第二,你的資料、自動化流程都在自己電腦裡,不會傳給別人。第三,跑得快,因為不用透過網路。
我們要的是 n8n,但 n8n 不能直接裝進 Windows,它要住在「便當盒」裡。所以這一步,我們先去拿那個便當盒本人,也就是 Docker Desktop。它是讓你開、關、整理便當盒的管理工具。
把它當成是「Steam」之類的軟體商店就好。先裝它,之後才能透過它去抓 n8n。
記得我們說過嗎,WSL 就是「給 Docker 便當盒用的廚房」。第一次打開 Docker,它會去檢查你電腦裡的廚房夠不夠新,如果太舊就會跳這個紅色驚嘆號視窗叫你更新。
這不是壞掉,是提醒。每個第一次裝 Docker 的人都會看到,照做就好。
wsl --update。這就是等一下要打的指令,先記得它。
等一下要打那行 wsl --update 指令,但這種指令不能在 Word 或瀏覽器裡打,要在一個叫做「命令提示字元」的特殊黑色視窗裡打才有用。
那個黑色視窗就是給電腦下命令用的地方。Windows 沒有把它擺在桌面顯眼處,所以我們用一個小撇步打開它。
現在黑色視窗開好了,要正式跟電腦下命令:「請把 WSL 這個廚房更新到最新版」。
這行指令叫做 wsl --update,意思是「wsl 系統,請執行更新」。中間的兩個橫線是英文的指令格式,不要漏。
C:\> wsl --update
剛剛按 Enter 之後,電腦正在從網路上下載「新版的 WSL 廚房」。這個動作不能跳過、不能加速,只能等。
速度快慢看你的網路,通常 1 到 3 分鐘。學校或公司網路如果限制比較多,可能會更久。
The operation completed successfully,就完成了。
剛剛 Docker 之所以開不起來,就是在等 WSL 廚房更新。現在更新好了,要回去告訴 Docker:「你再試一次,這次廚房準備好了。」
那顆按鈕的英文 Try Again 意思就是「再試一次」。
第一段我們裝好了 Docker(便當盒管理工具),但 Docker 本身只是個空架子,裡面還沒有 n8n。
現在要去抓 n8n 的「安裝包」進來。Docker 把這種安裝包叫做 Images(中文意思是「映像檔」,可以想成「還沒打開的便當盒模板」)。
所以左邊選單的 Images,就是「我有的所有安裝包列表」的意思。我們先去那邊看,準備抓 n8n。
n8n 的安裝包不在你電腦裡,要從一個叫做 Docker Hub 的網路倉庫去抓。那個倉庫就像是 App Store,裡面有上萬個工具的安裝包。
Docker 有內建的搜尋功能,可以直接從畫面裡輸入「n8n」找到它,找到之後按 Pull(中文是「拉取」),就會把它下載到你電腦裡。
要注意的是搜尋結果會有很多版本,要選 官方版本。判斷方法是名字旁邊有沒有藍色打勾(驗證標章)。
剛剛 Pull 下來的只是「安裝包模板」,還沒真正跑起來。要讓 n8n 開始運作,要把這個模板「Run」(執行)一次,Docker 才會把它打包成一個正在運作的「便當盒」(叫做 Container 容器)。
簡單講:Image 是設計圖,Container 是蓋好的房子。Run 就是按下「開始施工」。
n8nio/n8n。
按了 Run 之後會跳出設定視窗,預設是收合起來的(只看到 Optional settings 一個小箭頭)。如果直接按 Run,Docker 會用預設值跑 n8n。
問題是,預設值會讓你開不到 n8n(網址對不到),而且資料只要關掉就會不見(沒有指定資料要存哪)。
所以一定要展開 Optional settings,去填三項關鍵設定,n8n 才會正常運作、資料才會保留。
展開後的欄位看起來很嚇人,其實 只要填三個,其他全部空著就好。這三個就是 n8n 跑起來的「基本設定」。
三項分別管:(1) 容器名字,方便之後在 Containers 找到它。(2) 對外網址要用的編號(叫 port),決定你要用 localhost:幾號 打開 n8n。(3) 資料存哪裡,避免關掉就消失。
C:\n8n 資料夾。而且不要放這些位置:桌面、Downloads、OneDrive / Google Drive / iCloud 同步資料夾、任何含中文字的路徑。OneDrive 會把 n8n 資料庫一起同步造成檔案鎖死、中文路徑偶發解析失敗、Downloads 被防毒掃影響速度。直接放 C 槽根目錄 C:\n8n 最穩。
C:\n8n 資料夾「連通」到 n8n 容器內部那個叫 /home/node/.n8n 的資料夾。這樣 n8n 寫的資料其實是寫到你電腦的硬碟上,就算容器被砍掉,資料還在。
按下 Run 之後,n8n 已經在你電腦的便當盒裡跑起來了。但它跑在背景,看不到畫面,要透過瀏覽器才能用。
n8n 啟動時會在 Docker 的 Logs(執行紀錄)最後一行印出一個網址,那就是你的 n8n 入口。點下去就會在瀏覽器打開它的設定畫面。
Editor is now accessible via: http://localhost:5678。Editor is now accessible via:
http://localhost:5678
http://localhost:5678 是什麼?不是一個網站,是「你自己這台電腦裡」的 n8n 入口。只有你的瀏覽器打得開,別人連不到。詳細解釋見下面除錯區「localhost:5678 在講什麼」。
下面有「日後怎麼再開」的說明,務必看一下。
n8n 跑起來了,但要它去動你的 Google 資料(讀信、改試算表、上傳檔案),要先到 GCP 建一個 OAuth 用戶端,再把它跟 n8n 接線。我們把這段邏輯複雜的流程拆給你看。
前往:n8n 接 Google 服務教學 ▷Image(安裝包)裝過一次就不用再 Pull、不用再 Run a new container。之後打開 n8n 只要去 Containers 那邊點兩下就好。下面用一張圖告訴你怎麼點。
你之前 Pull 跟 Run 的那一系列動作,目的就是「建出一個 n8n 容器」。容器一旦建好了,就不用重建,每次只要把它打開來用就好。
容器都放在 Containers 這個分頁裡。Images 是「安裝包模板」,Containers 才是「已經蓋好的便當盒」。日後使用認準 Containers 就對了。
n8n_d 會在列表裡。容器跟手機 App 很像,可以開、可以關。關著的時候不會吃電腦資源,要用時再打開。
判斷它有沒有在跑,看 Name 左邊那顆小圓點的顏色:綠色就是正在跑,灰色就是停著。
n8n 在背景跑著,但你要透過瀏覽器才能用它。Docker 很貼心,已經把網址做成可以直接點的連結,不用自己打網址。
那個連結就在 Containers 列表中 Port(s) 那一欄,寫著 5678:5678。
5678:5678 字,旁邊有外連箭頭圖示。
別慌,九成以上都是這幾種小問題。下面用「三步自我診斷」幫你抓出來,搞不懂英文錯誤訊息也沒關係,下面有翻譯。
想像 Docker 容器是一棟蓋在你電腦裡的小房子。localhost 就是「你自己這台電腦」的地址,
:5678 是房子的門牌號碼。
所以 http://localhost:5678 等於「請打開我電腦裡 5678 號那間房子的大門」。
連不上 = 那個門牌號碼的房子根本沒蓋好、沒開門,或者被路障擋住了。
打開 Docker Desktop,左邊點 Containers,找到 n8n_d 那一行,看狀態欄。
最常見的狀況:你以為第一次安裝失敗,又重做了一遍,結果不知不覺開了兩個 n8n,兩個都想用 5678,互相打架。
C:\n8n。兩個都確認過再決定哪個留。
有時候只是手快打錯字。確認瀏覽器網址列完全長這樣:
http://localhost:5678
https://(多了 s,n8n 本機跑沒有加密憑證)localhost:5679(port 打錯,你設定填的是 5678 就一定是 5678)localhost/5678(用斜線不是冒號)
Docker 跳出紅色錯誤訊息看不懂?對照下面這張卡找你看到的關鍵字。
wsl --update 被拒絕,或 Docker 一直啟動失敗說「Hyper-V 未啟用」。先確認步驟 4 的 wsl --update 真的「跑完了」(進度條到 100%、回到可以打字的狀態)。如果還是不行,重新開機一次電腦,再開 Docker 通常就會過。
代表你的 Windows 還沒裝過 WSL 功能。可以改在命令提示字元輸入 wsl --install 先安裝,裝完重開機,再回來跑 wsl --update。
不用。這行指令只是一次性的更新動作,複製貼上就好。裝好之後日常操作多半在 Docker Desktop 的圖形介面裡點一點即可。
多半是網路問題。可以先關掉再重跑一次 wsl --update,或換個網路環境(避開公司/學校有限制的網路)再試。
第一,確認 Docker Desktop 的 Containers 頁面,n8n_d 那行的狀態是 Running(綠色)。第二,確認步驟 10 的 Host port 真的填的是 5678。第三,試著等個 30 秒再開,n8n 第一次啟動要建資料庫,需要一點時間。
可以。這只是「你電腦上拿來存 n8n 資料的資料夾」,只要寫成 Docker 看得懂的路徑(例如 D:\n8n)就行。但不要放桌面、Downloads、OneDrive / Google Drive / iCloud 同步資料夾、或含中文字的路徑(範例:D:\我的資料\n8n 不行,D:\n8n 才安全)。Container path(/home/node/.n8n)不能改,那是 n8n 程式內部固定要寫資料的位置。
打開 Docker Desktop → 左邊點「Containers」→ 找到 n8n_d 那行 → 按右邊的 ▶ 啟動。不用再 Pull、不用再設定,秒開。