Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3
docker-compose mini 拡張
ここまでで、miniconda + pandas(numpy) が動作するコンテナを構築することができました。
引き続き、これを拡張し
+ matplotlib + mplfinance + scikit-learn + tensorflow(keras)
が動作するコンテナを構築します。
問題となるなるのが python3 と tensorflow の版数関係。
2025/10/17日現在 python3 の最新版数 3.13 には Miniconda からインストールできる
TensorFlow はないのです。
Miniconda からインストールできる TensorFlow の最新バージョンは
tensorflow 2.18 であり
最新リリース日: 2025年8月14日の tensorflow 2.20.0
は Miniconda からはインストールできないのです。
そして、tensorflow の最新 2.18 は python 3.11 と組合せる必要があります。
ならば Miniconda を止めれば良いことになるのですが、私の CPU は
12th Gen Intel(R) Core(TM) i7-12700
なので、そもそも AVX 拡張命令セットは使えず、
TensorFlow は Miniconda 環境に入れる必要があり困ってしまいます。
このあたりのことは
Miniconda と TensorFlow の関係
TensorFlow インストール版数確認
TensorFlow インストール確認Ⅰ
を読んでみてください。
ちなみに、tensorflow/tensorflow docker イメージもあるのですが、
これは TensorFlow の公式 Python バイナリに基づいているため AVX 対応の CPU が必要です。
(私の PC は AVX に対応していません)
最近の インテル CPU は AVX をサポートしていないので、問題が発生する可能性が高くなっています。
なお、TensorFlow の conda 最新バージョンは
yamada@yama:~$ conda search tensorflow
で確認できます。
2025/10/27日現在の GPU 最新版は
tensorflow 2.12.0 gpu_py311h65739b5_0
となっており python 3.11 と組み合わせる必要があることが分かります。
miniconda3 python 3.11 Dockerfile 作成
miniconda3 拡張し + matplotlib + mplfinance + scikit-learn + tensorflow(keras)
が動作する Dockerfile を作成します。
- miniconda3 python 3.11 仮想環境作成
Dockerfile で
FROM continuumio/miniconda3
として miniconda3 を読み込み
WORKDIR /app
としたら まずは、python 3.11 仮想環境を作成する必要があります。
RUN conda create -n py311 python=3.11
-n py312
とし仮想環境の名前を py311 としました。
書式は
conda create -n 仮想環境の名前
python=x.xx python の版数
です。 - python パッケージインストール準備
仮想環境 py311 が出来上がったら、ここに入って python パッケージをインストールしていきます。
$ conda run -n py311 /bin/bash -c
で仮想環境 py311 に入れるのですが Dockerfile では、 py311 に入るためのコマンド SHELL[ ] を使います。
SHELL ["conda", "run", "-n", "py311", "/bin/bash", "-c"]
として、py311 に入って python パッケージをインストールします。
「" ", " "」これは「exec形式」と呼ばれる JSON 配列の構文です。
主に Dockerfile で使用される命令であり、 コンテナ内でコマンドを実行する際のデフォルトのシェルを変更するものです。
この命令以降の RUN、CMD、または ENTRYPOINT 命令で実行されるすべてのコマンドは、 デフォルトのシェル(通常は /bin/sh )ではなく
conda run -n py311 /bin/bash -c
というコマンドを通して実行される、ということを意味します。
「"-c"」これは、bashコマンドの引数で「次の文字列をコマンドとして実行する」」という意味を持ちます。 - python conda パッケージインストール
インストールしたい conda パッケージを仮想環境 py311 下にインストールして行きます。
今回簡単にインストールできるパッケージ pandas、matplotlib、scikit-learn を先に実行します。
RUN conda install pandas
RUN conda install matplotlib
RUN conda install scikit-learn
簡単です。 - python conda-forge パッケージインストール
conda にない conda-forge パッケージ内の matplotlib、mplfinance をインストールします。
conda-forge とは、コミュニティ主導で管理されている、conda で利用できるパッケージのリポジトリ (保管場所)です。
Anaconda 社が管理するデフォルトのチャンネルとは別に、有志のコミュニティが管理しており、 数万ものパッケージが提供されています。
パッケージの有無は Anaconda.org から検索することができます。
RUN conda install -c conda-forge matplotlib
RUN conda install -c conda-forge mplfinance - python conda tensorflow パッケージインストール
conda tensorflow gpu 版パッケージのインストールは厄介です。
まずはインストールする版数を調査する必要があります。
調査するには、Ubuntu の中に Miniconda がインストールされている必要があります。
まだのかたは WSL2 Ubuntu Python 概要--Miniconda インストール
を参照して Miniconda をインストールください。
ターミナル画面から
yamada@yama:~$ conda search tensorflow
とすると以下のようになります。Loading channels: done # Name Version Build Channel tensorflow 1.4.1 0 pkgs/main tensorflow 1.5.0 0 pkgs/main tensorflow 1.6.0 0 pkgs/main ・・・・・・・・ tensorflow 2.12.0 eigen_py310hcddfd99_0 pkgs/main tensorflow 2.12.0 eigen_py311h9ff51bb_0 pkgs/main tensorflow 2.12.0 eigen_py38hd435bb7_0 pkgs/main tensorflow 2.12.0 eigen_py39h83f3a29_0 pkgs/main tensorflow 2.12.0 gpu_py310hfda07e1_0 pkgs/main tensorflow 2.12.0 gpu_py311h65739b5_0 pkgs/main tensorflow 2.12.0 gpu_py38h03d86b3_0 pkgs/main tensorflow 2.12.0 gpu_py39hc0f3f85_0 pkgs/main tensorflow 2.12.0 mkl_py310hc7ea715_0 pkgs/main tensorflow 2.12.0 mkl_py311h34a0fa1_0 pkgs/main tensorflow 2.12.0 mkl_py38h496960e_0 pkgs/main tensorflow 2.12.0 mkl_py39h5ea9445_0 pkgs/main tensorflow 2.17.0 cpu_py310hbca4264_0 pkgs/main tensorflow 2.17.0 cpu_py311hbca4264_0 pkgs/main tensorflow 2.17.0 cpu_py312hbca4264_0 pkgs/main tensorflow 2.17.0 cpu_py39hbca4264_0 pkgs/main tensorflow 2.17.0 cuda124py310ha1f05a4_200 pkgs/main tensorflow 2.17.0 cuda124py311ha1f05a4_200 pkgs/main tensorflow 2.17.0 cuda124py312ha1f05a4_200 pkgs/main tensorflow 2.17.0 cuda124py39ha1f05a4_200 pkgs/main tensorflow 2.18.1 cpu_py310hbca4264_0 pkgs/main tensorflow 2.18.1 cpu_py311hbca4264_0 pkgs/main tensorflow 2.18.1 cpu_py312hbca4264_0 pkgs/main tensorflow 2.18.1 cpu_py39hbca4264_0 pkgs/main tensorflow 2.18.1 cuda124py310ha1f05a4_200 pkgs/main tensorflow 2.18.1 cuda124py311ha1f05a4_200 pkgs/main tensorflow 2.18.1 cuda124py312ha1f05a4_200 pkgs/main tensorflow 2.18.1 cuda124py39ha1f05a4_200 pkgs/main tensorflow 2.19.1 cpu_py310hbca4264_0 pkgs/main tensorflow 2.19.1 cpu_py311hbca4264_0 pkgs/main tensorflow 2.19.1 cpu_py312hbca4264_0 pkgs/main tensorflow 2.19.1 cpu_py39hbca4264_0 pkgs/main tensorflow 2.19.1 cuda124py310ha1f05a4_200 pkgs/main tensorflow 2.19.1 cuda124py311ha1f05a4_200 pkgs/main tensorflow 2.19.1 cuda124py312ha1f05a4_200 pkgs/main tensorflow 2.19.1 cuda124py39ha1f05a4_200 pkgs/main
tensorflow 2.19.1 cuda124py312ha1f05a4_200
が使えそうで、いろいろやってみましたが上手くいきませんでした。
RUN conda install tensorflow=2.12.0=gpu_py311h65739b5_0
で python 3.11 版の tensorflow gpu 版をインストールします。
- 仮想環境 py311 起動
最後に仮想環境 py311 を起動します。
RUN echo "conda activate py311" >> ~/.bashrc
「.bashrc」はログインした直後のディレクトリ(ホームディレクトリ)にあり、 起動した時、最初に読み込まれるファイルです。
ここに $ conda activate py311 と入力すると仮想環境 py311 に入ることができます。
miniconda3 python 3.11 Dockerfile まとめ
ここまで説明してきた Dockerfile の内容をまとめます。
FROM continuumio/miniconda3:latest WORKDIR /app RUN conda create -n py311 python=3.11 SHELL ["conda", "run", "-n", "py311", "/bin/bash", "-c"] RUN conda install pandas RUN conda install matplotlib RUN conda install -c conda-forge matplotlib RUN conda install -c conda-forge mplfinance RUN conda install scikit-learn RUN conda install tensorflow=2.12.0=gpu_py311h65739b5_0 RUN echo "conda activate py311" >> ~/.bashrc
ここまでで、miniconda3 python 3.11 Dockerfile ができました。
引き続き、miniconda3 python 3.11 docker-compose ファイルを作成します。