內容大綱
- 為什麼用 Docker 建立 Jupyter Notebook?
- 安裝 Docker
- Linux
- Mac
- Windows
- 下載與執行 Jupyter Notebook Docker 映像檔
- 設定 Notebook 存取與資料掛載
- 使用 GPU
- 參考資料
1. 為什麼用 Docker 建立 Jupyter Notebook?
Docker 可讓你快速建立隔離的開發環境,避免本機安裝衝突。Jupyter Notebook 是資料科學常用的互動式開發工具,透過 Docker 可輕鬆部署、移植與分享。
2. 安裝 Docker
Linux
大多數 Linux 發行版可透過套件管理器安裝 Docker:
# 更新套件清單
sudo apt update
# 安裝 Docker
sudo apt install docker.io
# 啟動 Docker 服務
sudo systemctl start docker
# 設定開機自動啟動
sudo systemctl enable docker
Mac
前往 Docker Desktop for Mac 下載並安裝。
Windows
前往 Docker Desktop for Windows 下載並安裝。
3. 下載與執行 Jupyter Notebook Docker 映像檔
官方映像檔推薦使用 jupyter/base-notebook 或 jupyter/scipy-notebook:
拉取映像檔
docker pull jupyter/base-notebook建立容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]啟動容器並開啟本機 8888 端口:
docker run -p 8888:8888 jupyter/base-notebook啟動後,終端機會顯示一組 token,複製網址(如
http://127.0.0.1:8888/?token=...)在瀏覽器開啟即可進入 Jupyter Notebook。
※ DockerHub: DockerHub 是官方的 Docker 映像檔集中平台,提供各種應用程式的映像檔下載與分享,可以在這裡搜尋、取得映像檔,快速部署環境。
4. 設定 Notebook 存取與資料掛載
若要將本機資料夾掛載到容器,方便存取與保存 notebook 檔案:
docker run -p 8888:8888 -v /your/local/path:/home/jovyan/work --name my-jupyter jupyter/base-notebook
-p: Assigns the internal port to the external port-v: Assigns a local directory to a container directory (mounts a volume)/your/local/path:本機資料夾路徑/home/jovyan/work:容器內預設工作目錄--name: Sets the container name; otherwise, a random name will be assigned
可自訂密碼或 token,詳見 官方文件。
5. 使用 GPU
若你的主機支援 NVIDIA GPU,可利用 NVIDIA Container Toolkit 讓 Docker 容器存取 GPU 資源。
步驟
安裝 NVIDIA 驅動程式
請先安裝對應作業系統的 NVIDIA 顯示卡驅動。安裝 NVIDIA Container Toolkit
依照官方文件安裝nvidia-docker:sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker啟動支援 GPU 的 Jupyter Notebook 容器
使用--gpus all參數啟動容器:docker run --gpus all -p 8888:8888 --name gpu_note -v ~/name:/tf/name tensorflow/tensorflow:latest-gpu-jupyter驗證 GPU 是否可用
在 Notebook 中執行下列程式碼,確認 GPU 是否被偵測到:import tensorflow as tf print(tf.config.list_physical_devices('GPU'))
注意:部分映像檔可能需額外安裝 CUDA、cuDNN 或深度學習框架,請參考 Jupyter Docker Stacks 官方說明。