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 を作成します。

  1. 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 の版数
    です。

  2. 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コマンドの引数で「次の文字列をコマンドとして実行する」」という意味を持ちます。

  3. python conda パッケージインストール

    インストールしたい conda パッケージを仮想環境 py311 下にインストールして行きます。
    今回簡単にインストールできるパッケージ pandas、matplotlib、scikit-learn を先に実行します。
    RUN conda install pandas
    RUN conda install matplotlib
    RUN conda install scikit-learn
    簡単です。

  4. 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

  5. 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 版をインストールします。

  6. 仮想環境 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 ファイルを作成します。


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