CUDA対応Jupyter notebookが動くドッカーを作る
NVIDIA RTX3060 12GB NVIDIA RTX4080Super 16GBなどが対応しています。)
WindowsPCでDocker構築
一連の作業はWindowsPC上に作成したLinux( Ubuntu) OS上で行います。
Dockerを構築すれば、よりスムーズに運びます。
演算に使用するGPU(グラフィックカード)は、最低でもNVIDIA RTX3060 12GB程度が必要です。
もうちょっと頑張ってNVIDIA RTX4080Super 16GBなら更に良い。
金欠病の方(私も含めて)じゃんぱら辺りで中古を探せば、RTX3060 12GB ¥35,000程度 RTX4080Super 16GB ¥140,000程度で入手出来ます。
先にWindows10環境でグラボが使えるようにNVIDIAのサイトからWindowsドライバーを探して
インストールして使えるようにしておきます。
Windows11の場合
Win11では、wslがドッカー内に統合されているので最初の手順がWin10と異なります。
概要はDockerDesktopをインストールする過程でwslのセットアップもされるようです。
セットアップが完了したら、まず、DockerDesktopが起動しているかを確認後、Win11のスタートメニ
ューを開き「WSL_Settings」->「wslの起動」でUbuntuがスタートします。
スタートしたら下記のWin10の説明の(3)から同じ説明になります。
Windows11上のc:User/UserNameは、Ubutu上では/mnt/c/User/UserNameになりますので
WindowsのUser/UserName/Mydockerと共有を図るには、Ubuntu上でドッカーイメージを作る場合
/mnt/c/User/UserName/MyDocker/にDockerfileを置いてbuldコマンド、docker runコマンドを実行
するようにします。


Widows10の場合
(1) WSLとUbuntuのインストール
●「WSL」とディストリビューション「Ubuntu」インストールします。
管理者権限でpowershellを起動し
> wsl --install -d Ubuntu-24.04
でインストール出来ます。
確認は以下のコマンドで行います。
> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Running 2
(2) Docker desktopをインストール
●【ダウンロード】Docker desktopは以下からダウンロードを行い解凍して実行インストールします。
https://www.docker.com/products/docker-desktop
インストールしたら動作しているか確認します。
> wsl #Ubuntuが起動してカーするが$に変わる。
(3) Ubuntu用のNVIDIAグラフィックドライバーをインストールします。(ここからUbuntu上)
sudo apt update && sudo apt upgrade
sudo apt install docker.io curl
sudo apt search nvidia-driver
sudo apt install nvidia-driver-570
sudo reboot
以下のコマンドを実行してGPUが正しく認識されているか確認します。
nvidia-smi
(4) ドッカーを構築する
デスクトップにある「docker desktop」のアイコンをクリックして起動しておきます。

● CUDAイメージをPull
PyTorchのバージョンに対応するCUDAバージョンのイメージをPullする(12.7)
一番近いバージョン12.6.0 (RTX 3060 12GB RTX4080Super 16GB共同じ)
docker pull nvcr.io/nvidia/cuda:12.6.0-devel-ubuntu22.04
● Dockerfileを作成する。
TeraPadなどのテキストエディターを使って「Dockerfile」を作成します。
先にインストールしたCUDAイメージを元に、作業に必要なアプリケーションをインストー
ルする指示書になります。
実際に必要なアプリケーションはこれ等の他にも沢山ありますが、いっぺんに欲張ってイ
ンストール指示を出すと、インストール時何らかのエラー等で停止する事があります。
そこで、とりあえず必要最低限なものをこのDockerfile方式で先にインストールしておきそ
れ以上の追加インストールは、後でコンテナを起動し、Jupyter notebookを使って確認し
ながらインストールして行きます。
すべてが上手く運んだら、後で再度Dockerfileを書き直してDocker imageを作り直しても
良いです。
Dockerfileの保存場所は、作業スペース内になります。
作業スペースは自分で作成して下さい。
例えば、C:ユーザー名/MyDocker
MyDockerのフォルダーは仮想のUbuntuでは/workspaceに割り当てられます。
Dockerfileには拡張子を付けません。
テキストエディターで作成した「Dockerfile.txt」をMyDockerフォルダーに保存し、「名前を
変更」で拡張子「.txt」を削除して下さい
Dockerfile
FROM nvcr.io/nvidia/cuda:12.6.0-base-ubuntu22.04
RUN apt-get update && apt-get install -y python3-pip
RUN apt-get -qq -y install curl zip unzip
# Install git
RUN apt-get update && apt-get install -y git
# wgetをインストール
RUN apt-get update && apt-get install -y wget
RUN python3 -m pip install tqdm
RUN python3 -m pip install --upgrade pip \
&& python3 -m pip install --no-cache-dir \
torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
RUN python3 -m pip install --no-cache-dir ultralytics
RUN python3 -m pip install --no-cache-dir jupyter
RUN apt-get autoremove -y && \
apt-get clean && \
rm -rf /usr/local/src/*
● ドッカーをビルドする。
今回の例では、イメージ名を「cnn」にしました。
名前は、何でもOKです。
cd MyDocker
docker build -t cnn .
(5) ドッカーを起動する。
ドッカーを起動します。
下記のコマンドを実行起動させるとブラウザで「localhost:8888」と入力してenterーキーを押
すとPython の編集環境の「Jupyter notebook」が起動します。
最初「workspace」フォルダーをクリックしてその場所で新規プロジェクトを開始して下さい。
WindowsPC側では、Ubuntuの/workspaceはc/Users/name/Mydockerになります。
「name」は自身のユーザー名です。
/mnt/f/data:/data この例では、PCのF:ドライブのdataフォルダーを仮想Ubuntu環境の/data
にマントしています。
つまり、Ubuntu環境から/dataにアクセスすれば実際のPC上のF;dataにアクセス出来ます。
自分の環境に合わせて下さい。
尚、ドライブレターF;は小文字fにするのが決まりです。
docker run --rm -it --gpus all --ipc=host -v /mnt/c/Users/name/MyDocker:/workspace \
-v /mnt/f/data:/data -p 8888:8888 cnn jupyter notebook --allow-root --no-browser \
--ip 0.0.0.0 --NotebookApp.token=''
(6) その他必要最低限のドッカー操作コマンド
● 特定のコンテナを停止する。
docker ps -a #稼働中のコンテナを表示させる
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
351bef306b41 cnn
docker stop 351bef306b41 #または docker stop cnn
● ドッカーイメージの削除
ドッカーイメージを削除して作り直す場合には、上記の方法でコンテナを削除した後、PC
のデスクトップにある「docker desktop」で「images」アイコンをクリックを表示させ
削除したいイメージを選択して「Delete」ボタンをクリックして削除します。