Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3

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

ここまでで Docker ya-p312t コンテナを構築する準備が終わりました。
引き続き、このコンテナの動作確認用の 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-p312t/files/
ここに test2.py を保存します。
ファイル名は適当
test2.py
です。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。

docker-compose ya-p312t ファイル実行

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

yamada@yama:~$ cd d-p312t
yamada@yama:~/d-p312t$ docker compose up
[+] Running 1/1
 ✔ Container ya-p312t-p312t-1  Created                                                         0.0s
Attaching to p312t-1
p312t-1 exited with code 0
# docker image 構築完了
# docker p312t 起動
yamada@yama:~/d-p312t$ docker compose run --rm p312t
root@8111632cdadb:/app# python3 test2.py

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

root@8111632cdadb:/app# python3 test2.py
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1762753246.864188     464 gpu_device.cc:2020] Created device /device:GPU:0 with 2246 MB memory:  -> device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 6418335140378056338
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 2355573556
locality {
  bus_id: 1
  links {
  }
}
incarnation: 9220710843188696303
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 版は動作しています。
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
[意味・和訳]
TensorFlow (ログ記録に Abseil ライブラリを使用している)によって 生成された特定のログ記録メッセージが、ログ記録システムが完全に初期化される前に 標準エラー出力ストリーム(STDERR) に送信されていることを示しています。
これは無視して問題ありません。
この無害な警告は無視します。

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

他の方法でも動作確認をしましょう。
nvidia-smi で GPU の Driver Version 等も確認できます。

root@8111632cdadb:/app# nvidia-smi
Mon Nov 10 05:44:14 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%   48C    P8            N/A  /   75W |     633MiB /   4096MiB |      2%      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      |
+-----------------------------------------------------------------------------------------+

又、nvidia-smi dmon で GPU の動作をモニタすることができます。
Ctrl + c で停止できます。


root@8111632cdadb:/app# nvidia-smi dmon
# gpu    pwr  gtemp  mtemp     sm    mem    enc    dec    jpg    ofa   mclk   pclk
# Idx      W      C      C      %      %      %      %      %      %    MHz    MHz
    0      -     48      -      9     15      0      0      0      0    405    300
    0      -     48      -      3     14      0      0      0      0    405    300
    0      -     48      -      2     13      0      0      0      0    405    300
    0      -     48      -      2     13      0      0      0      0    405    300
    0      -     48      -      2     13      0      0      0      0    405    300
    0      -     48      -      2     13      0      0      0      0    405    300
・・・・・・・・

docker-compose ya-p312t ファイル実行Ⅱ

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

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

root@8111632cdadb:/app# python3 test3.py
[結果]
TensorFlow version: 2.20.0
と表示されれば OK です。

Docker コンテナ ya-p312t が完成しました。
なお、2025/11/13日現在、tensorflow gpu 版の最新は
python 3.12、tensorflow 2.20
となっています。

最初は docker で continuumio/miniconda3 のイメージを利用したコンテナを作成することを目指していましたが いつの間にか python:3.12-slim のイメージを利用したコンテナが出来上がってしまいました。
話を戻して、continuumio/miniconda3 のイメージを利用した tensorflow gpu 版の最新を作成して行きます。


  • miniconda + tensorflow 2.20 コンテナ構築 に進む
  • python 3.12 tensorflow 2.20 docker-compose 作成 に戻る
  • python 3.12 tensorflow 2.20 コンテナ作成 に戻る
  • miniconda3 python 3.11 docker-compose 作成 に戻る
  • Docker yamat-mini コンテナ動作確認用ファイル作成 に戻る
  • 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 に戻る