0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

備忘:Dockerを利用したPythonの構築手順(Windows11 Pro)@2025年版

Last updated at Posted at 2025-03-22

目次

1.フォルダ構成
2.ファイルの準備
  ①必須:Dockerfile
  ②必須:docker-compose.yml
  ③任意:.wslconfig
3.Windows11でWSL2を使えるようにする
4.Docker Desktop for Windowsをインストールする
5.コンテナの作成~JupyterLab起動まで

重要
この記事ではWindows11 Pro環境での構築手順を説明しています。

フォルダ構成

📁root
 ├─📁py3
 │  ├─📁root_jupyter
 │  └─📄Dockerfile
 ├─📁workspace
 └─📄docker-compose.yml

この構成では、rootディレクトリ内に以下のサブディレクトリとファイルを配置。

py3: Python 3環境に関連するファイルを格納するフォルダ
root_jupyter: Jupyter関連の設定やファイルを格納するサブフォルダ
Dockerfile: Dockerの設定ファイル
workspace: プロジェクトの作業用ディレクトリ
docker-compose.yml: コンテナ設定を記述したYAMLファイル

ファイルの準備

Dockerfile

FROM python:3.9.7-buster
ARG DEBIAN_FRONTEND=noninteractive


RUN apt-get update && apt-get install -y \
    tzdata \
&&  ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&&  apt-get clean \
&&  rm -rf /var/lib/apt/lists/*

ENV TZ=Asia/Tokyo

RUN python3 -m pip install --upgrade pip \
&&  pip install --no-cache-dir \
    black \
    jupyterlab \
    jupyterlab_code_formatter \
    jupyterlab-git \
    lckr-jupyterlab-variableinspector \
    jupyterlab_widgets \
    ipywidgets \
    import-ipynb

RUN wget https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip
RUN unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp


RUN pip install --no-cache-dir \
    numpy \
    pandas \
    scipy \
    scikit-learn \
    pycaret \
    matplotlib \
    japanize_matplotlib \
    mlxtend \
    seaborn \
    plotly \
    requests \
    beautifulsoup4 \
    Pillow \
    opencv-python \
    openpyxl \
    dask
    

RUN pip install --no-cache-dir \
    pydeps \
    graphviz \
    pandas_profiling \
    shap \
    umap \
    xgboost \
    lightgbm

②docker-compose.yml

version: "3.9"
services:
  py3:
    build:
      context: ./py3
      dockerfile: Dockerfile
    container_name: 'python3'
    restart: always
    entrypoint: >
      jupyter-lab
      --allow-root
      --ip=0.0.0.0
      --port=8888
      --no-browser
      --NotebookApp.token=''
      --notebook-dir=/workspace
    expose:
      - "8888"
    ports:
      - "127.0.0.1:8888:8888"
    volumes:
      - ./py3/root_jupyter:/root/.jupyter
      - ./workspace:/workspace

    # GPUを使用する際のみ以下も設定
    # environment:
    #   - "NVIDIA_VISIBLE_DEVICES=all"
    #   - "NVIDIA_DRIVER_CAPABILITIES=all"
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - capabilities:
    #           - gpu


③.wslconfig

任意設定
仮想マシンのメモリやCPUの使用量を表示するプロセス「Vmmem」メモリ使用量を制限する。
この記述をしないと、仮想マシンがメモリを最大でPCの半分占有してしまい他のシステム動作に影響を与えることがある。機械学習など重たい処理を行わない場合は、GB数を調整しておく。

この.wslconfigは、ユーザー名の配下に格納しておく。

📁C
 └─📁Users
     └─📁UserName
        └─📄.wslconfig
[wsl2]
memory=1GB

Windows11でWSL2を使えるようにする

重要
Windows10の場合とは手順が異なります。
MacOSの場合には不要な工程です。

1)バージョン確認
Windowsキーを押して、winverと入力する。Windows11 Proであることを確認。
image.png

2)WSL2の有効化~Ubuntuのディストリビューションのインストール
Windowsキーを押して、Windows PowerShellターミナルを開く。
Windows10では、複数工程を踏む必要があったが、Windows11では1行たたくだけ。

$ wsl --install

補足
Windows10の場合
・「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」を有効化する
・WSL2用Linuxカーネルをダウンロード・インストールする
・WSL2を既定のバージョンとする
・Ubuntuディストリビューションをダウンロード・インストールする

Docker Desktop for Windowsをインストールする

1)Dockerの公式サイト(https://www.docker.com/ja-jp/products/docker-desktop/)にアクセス
2)遷移先の画面で「Download for Windows」をクリックする。
 ※「Docker Desktop for Windows」のインストーラがダウンロードされる。
image.png
3)ダウンロードしたらインストーラをダブルクリックしてインストールをすすめる
4)インストーラが起動したら、「OK」をクリックし画面の指示に従ってインストールをすすめる。
 ※「Configuration」のチェックはそのままでOK。
5)Docker Desktopが起動するのでAccept→以降Skipの順で進みDockerエンジンを起動。
 ※Dockerエンジンを使用していないと今回の設定や、JupyterLabへの遷移ができない。
image.png

6)Windows PowerShellを立ち上げる。
 ※dockerとたたいてスクリプト返ってきたらOK、何も返ってこないときはコンテナの立ち上げを確認。
image.png

コンテナの作成~JupyterLab起動まで

1)フォルダ構成・ファイルの格納を再確認

📁root
 ├─📁py3
 │  ├─📁root_jupyter
 │  └─📄Dockerfile
 ├─📁workspace
 └─📄docker-compose.yml

2)ディレクトリの指定

$ cd root/<*rootフォルダをDDする>

3)コンテナの作成

$ docker compose up -d --build

4)コンテナの確認

$ docker container ls

5)コンテナへの接続

$ docker exec -it <CONTAINER ID> bash

6)Pythonのバージョン確認

$ python --version

7)Pythonのモジュールやライブラリがインストールできるかを確認
 ※汎用的に使うものであればDockerfileに追記しておく。

$ python -m pip install <MODULE>

e.g.) python -m pip install selenium

8)Jupyter Labの起動
下記へ遷移できたら構築の手順は完了。
http://localhost:8888

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?