Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3
miniconda3 python 3.12 Docker minit20 動作確認
ここまでで Docker minit20 コンテナを構築する準備が終わりました。
このコンテナの動作確認用の 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-t20\files\
ここに test2.py を保存します。
ファイル名は適当
test2.py
です。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
docker-compose d-mini-t20 ファイル実行
Docker minit20 を動作させる準備が終わりました。
Docker Compose ファイルを実行していきます。
WSL2 Ubuntu 24.04 LTS ディスクトップ日本語からターミナルを開きます。
PowerShell 7 からでもターミナルを開くことができます。
PowerShell 7 追加インスト-ル参照。
コンテナフォルダ \d-mini-t20 に移動します。
yamada@yama:~$ cd d-mini-t20
移動できたら次のコマンドを入力実行します。
yamada@yama:~/d-mini-t20$ docker compose up
\d-mini-t20 にある docker-compose.yml でコンテナを構築します。
-d を付けるとバックグラウンド処理になってしまいます。
-d なしにします。
yamada@yama:~$ cd d-mini-t20 yamada@yama:~/d-mini-t20$ docker compose up [+] Building 2.7s (15/15) FINISHED => [internal] load local bake definitions 0.0s => => reading from stdin 505B 0.0s => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 1.94kB 0.0s => [internal] load metadata for docker.io/continuumio/miniconda3:latest 2.5s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [1/9] FROM docker.io/continuumio/miniconda3:latest@sha256:4a2425c3ca891633e5a27280120f3fb 0.0s => => resolve docker.io/continuumio/miniconda3:latest@sha256:4a2425c3ca891633e5a27280120f3fb 0.0s => CACHED [2/9] WORKDIR /app 0.0s => CACHED [3/9] RUN conda create -n py312 python=3.12 0.0s => CACHED [4/9] RUN conda install pandas 0.0s => CACHED [5/9] RUN conda install -c conda-forge matplotlib 0.0s => CACHED [6/9] RUN conda install -c conda-forge mplfinance 0.0s => CACHED [7/9] RUN conda install scikit-learn 0.0s => CACHED [8/9] RUN pip install tensorflow[and-cuda] 0.0s => CACHED [9/9] RUN echo "conda activate py312" >> ~/.bashrc 0.0s => exporting to image 0.0s => => exporting layers 0.0s => => writing image sha256:0cfab1a7c1a840bafbf954239b652b89593388f955da658805c3ca38fedc60a8 0.0s => => naming to docker.io/library/yamt20-minit20 0.0s => resolving provenance for metadata file 0.0s [+] Running 3/3 ✔ yamt20-minit20 Built 0.0s ✔ Network yamt20_default Created 0.0s ✔ Container yamt20-minit20-1 Created 0.1s Attaching to minit20-1 minit20-1 exited with code 0 # docker image 構築完了 # docker minit20 起動 yamada@ama:~/d-mini-t20$ docker compose run --rm minit20 (py312) root@cd168279526a:/app# python test2.py # ここから test2.py が動作するか確認 WARNING: All log messages before absl::InitializeLog() is called are written to STDERR I0000 00:00:1763001352.073334 15 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: 2519114757320603099 xla_global_id: -1 , name: "/device:GPU:0" device_type: "GPU" memory_limit: 2355573556 locality { bus_id: 1 links { } } incarnation: 4277617055666959293 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
は無視して問題ありません。
この無害な警告は無視します。
docker-compose minit20 ファイル実行Ⅱ
他の方法でも動作確認をしましょう。
nvidia-smi で
GPU の Driver Version 等も確認できます。
(py312) root@cd168279526a:/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 で停止できます。
(py312) root@cd168279526a:/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 minit20 ファイル実行Ⅱ
おまけにもう一つ他の方法でも動作確認をしましょう。
以下の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 コンテナ minit20 が完成しました。
なお、2025/11/13日現在、tensorflow gpu 版の最新は
python 3.12、tensorflow 2.20
となっています。
https://zenn.dev/ashitahonkidasu/articles/73132d1563b745 win11+WSL+Docker Desktop(GPU container)+miniconda+intel MKLで環境構築 例 ソースコード FROM ubuntu:latest WORKDIR /app COPY . /app RUN apt-get update && apt-get install -y python3 CMD ["python3", "your_script.py"] この例では: $ CMD ["python3", "your_script.py"] : 最終的に、/appディレクトリ内でyour_script.pyというPythonスクリプトが実行されます。 Docker に入って OSを確認する # cat /etc/os-release 利用可能なシェルを確認する # cat /etc/shells https://www.tensorflow.org/install/docker?hl=ja&_gl=1*kei7b9*_up*MQ..*_ga*MTQzNDQyOTY1Ni4xNzYyMTYxMDQ5*_ga_W0YLR4190T*czE3NjIxNjEwNDkkbzEkZzAkdDE3NjIxNjEwNDkkajYwJGwwJGgw Docker [重要] https://qiita.com/Nao-Taka/items/9fc72b3f85ce5bdba8b3 Dockerで、Windows(+WSL2)上にVScode+PythonによるGPU開発+GUI表示ができる環境を作る [重要] yasuhiro@ysenba:~$ docker run -it --rm python:3.12-slim bin/bash root@a6d74e3bba5a:/# python3 -m venv dtf root@a6d74e3bba5a:/# source dtf/bin/activate ((dtf) ) root@a6d74e3bba5a:/# pip install tensorflow[and-cuda] https://zenn.dev/kariya_mitsuru/articles/1c119859604d48 Python の venv は activate しなくても使える https://www.kagoya.jp/howto/cloud/container/dockerpython/ DockerでPythonを動かす環境構築の手順 Python用のライブラリをインストールします。 python3 -m pip install numpy