Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3

Docker yamat-mini コンテナ動作確認用ファイル作成

ここまでで Docker yamat-mini コンテナを構築する準備が終わりました。
引き続き、コンテナの動作確認用の python ファイルを作成します。
tensorflow で動作する簡単なファイルです。

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='1'
# 1:INFO メッセージを出さない。
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

を実行すると下記のような GPU device 名を表示することができます。
device: 0, name: NVIDIA GeForce GTX 1650

自分の PC Windows で TeraPad 等を使用して test2.py ファイル(上記4行の内容)
を作成しこれを保存します。
Windows 側のエクスプローラーにおいて、ネットワークの下に Linux のフォルダがあります。
Linux の中に
Ubuntu-24.04(\\wsl.localhost)
のフォルダがあります。
\\wsl.localhost\Ubuntu-24.04\home\yamada\d-mini-t/files/
ここに test2.py を保存します。
ファイル名は適当
test2.py
です。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。

docker-compose yamat-mini ファイル実行

Docker yamat-mini を動作させる準備が終わりました。
Docker Compose ファイルを実行していきます。
WSL2 Ubuntu 24.04 LTS ディスクトップ日本語からターミナルを開きます。
PowerShell 7 からでもターミナルを開くことができます。
PowerShell 7 追加インスト-ル参照。
コンテナフォルダ \d-mini-t に移動します。
yamada@yama:~$ cd d-mini-t
移動できたら次のコマンドを入力実行します。
yamada@yama:~/d-mini-t$ docker compose up
\d-mini-t にある docker-compose.yml でコンテナを構築します。
-d を付けるとバックグラウンド処理になってしまいます。
-d なしにします。

yamada@yama:~$ cd d-mini-t
yamada@yama:~/d-mini-t$ docker compose up
[+] Running 1/1
 ✔ Container yamat-mini-1  Created       0.1s
Attaching to mini-1
mini-1 exited with code 0 
# docker image 構築完了

# docker mini 起動
yasuhiro@ysenba:~/d-mini-t$ docker compose run --rm mini bash
[+] Creating 1/1
 ✔ Network yamat_default  Created 
(py311) root@1c17146e46df:/app# python3 test2.py

# ここから test2.py が動作するか確認

(py311) root@fa7ff43e0fe4:/app# python3 test2.py
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 926208946900937752
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 2158441268
locality {
  bus_id: 1
  links {
  }
}
incarnation: 7019318879728559939
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5"
xla_global_id: 416903419
]

何やら動作しました。
結果が表示されていれば コンテナ tensorflow gpu 版は動作しています。

docker-compose yamat-mini ファイル実行Ⅱ

他の方法でも動作確認をしましょう。

(py311) root@fa7ff43e0fe4:/app# nvidia-smi dmon
とすると
# gpu    pwr  gtemp  mtemp     sm    mem    enc    dec    jpg    ofa   mclk   pclk
# Idx      W      C      C      %      %      %      %      %      %    MHz    MHz
    0      -     49      -      5     14      0      0      0      0    405    300
    0      -     49      -      2     14      0      0      0      0    405    300
    0      -     49      -      1     13      0      0      0      0    405    300
    0      -     49      -      3     13      0      0      0      0    405    300
    0      -     49      -      2     13      0      0      0      0    405    300
    0      -     49      -      2     13      0      0      0      0    405    300
・・・・・・・・

のような GPU の動作をモニタすることができます。
^c で停止できます。
又、nvidia-smi で GPU の Driver Version 等も確認できます。

  
(py311) root@fa7ff43e0fe4:/app# nvidia-smi
Sun Nov  2 08:50:49 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.10              Driver Version: 581.29         CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1650        On  |   00000000:01:00.0  On |                  N/A |
| 29%   49C    P8            N/A  /   75W |     737MiB /   4096MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A              22      G   /Xwayland                             N/A      |
|    0   N/A  N/A              22      G   /Xwayland                             N/A      |
+-----------------------------------------------------------------------------------------+

docker-compose yamat-mini ファイル実行Ⅲ

おまけにもう一つ他の方法でも動作確認をしましょう。
以下の4行のファイルを作成し tesy3.py とし確認してみましょう。

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='1'
import tensorflow as tf
print("TensorFlow version:", tf.__version__)

(py311) root@fa7ff43e0fe4:/app# python3 test3.py
[結果]
TensorFlow version: 2.12.0
と表示されれば OK です。

Docker コンテナ yamat-mini が完成しました。
少し不満な点は
python 3.11、tensorflow 2.12
に対応しているところです。
2025/11/13日現在、tensorflow gpu 版の最新は
python 3.12、tensorflow 2.20
となっています。
引き続き、tensorflow 2.20 コンテナを構築していきます。


  • python 3.12 tensorflow 2.20 コンテナ作成 に進む
  • miniconda3 python 3.11 docker-compose 作成 に戻る
  • docker-compose mini 拡張 に戻る
  • docker-compose mini ファイル実行 に戻る
  • docker-compose を使ってマウントの指定 に戻る
  • Docker volume バインドマウント に戻る
  • Docker volume に戻る
  • Docker イメージ d-minic コンテナを起動 に戻る
  • dockerfile で continuumio/miniconda3 コンテナを起動 に戻る
  • docker-miniconda3 コンテナの構築 に戻る
  • NVIDIA Container Toolkit インストール準備まとめ に戻る
  • Docker コンテナ miniconda3 に戻る
  • 70VPS に戻る