有時候想跑幾行 python code ,但又不想開 IDE 那麼肥大的東西。或是想要測試某某 module 的功能、有個 jupyter server 就很好用。
這時候借助 NAS 架個簡單的 jupyter server 就很好用。目前 qnap 官網提供的 jupyter 安裝都有點久遠,而且也不支援新的機器。
原來新的機器已經可以藉由 jupyter 官方所 release 的 docker image 進行安裝,這就方便多了,但是目前文件有點少,因此在這裡留個筆記。
我的機器是 QNAP TS-351 w/ QTS 5,但理論上應該是差不多的界面才對。
進入 NAS 的 container station,選擇「建立」,並鍵入 jupyter 進行搜尋,點選「Docker Hub」分類會列出在 docker 上的 image。
因為只有家人在用,我不需要複雜的多 user 功能,我是選擇 singleuser,點選「安裝」。版本選擇最新版「latest」即可。
接著會跳出因為非 QNAP 官方 release 的軟體,所以安裝風險自負
組態設定取個自己認得的名字,效能限制請依自己需求設定。
網路請選擇 Bridge,讓區網的其他電腦也可以連到 jupyter
勾選配置互動程序和 TTY 程序,這樣可以看到 jupyter 啟動的 console 畫面,有需要也可以進行操作
按下確定之後,很快的就可以在總覽的地方看到剛剛建立的 docker,點選名稱之後就可以看到執行中的畫面
如果 URL: 是空的,請往後看 Trouble shooting 的部份查詢IP。
畫面上方的 URL 點選之後,馬上就可以看到 jupyter 跑起來的畫面了,但是會停在需要輸入 token 的地方,token 就在上圖的中間,但是那邊不能複製......
解決方法可以從自己電腦透過 ssh 連入 NAS 之後,執行 docker 指令將 console 叫出來,就可以抓到 jupyter token
docker exec -ti jupyter-1 /bin/bash
有了 token ,也可以在瀏覽器登入頁面設定自訂密碼了,透過 token 或是密碼登入之後,就可以順利看到熟悉的 jupyter 頁面了
為了連線方便起見,你也可以到 router 中,將這個 docker 的 MAC 設成固定 IP
Trouble shootting
有時候在 NAS 的 docker 執行頁面看不到 URL,此時先記下MAC,接著到 QTS 的「網路與虛擬交換器」,就可以看到目前虛擬網卡的配置。以下圖為例,jupyter-1 就是被配給了 192.168.20.222
到目前為止,應該就可以把 hello world 給跑起來了!