目次
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
任意設定
仮想マシンのメモリやCPUの使用量を表示するプロセス「Vmmem」メモリ使用量を制限する。
この記述をしないと、仮想マシンがメモリを最大でPCの半分占有してしまい他のシステム動作に影響を与えることがある。機械学習など重たい処理を行わない場合は、GB数を調整しておく。
この.wslconfig
は、ユーザー名の配下に格納しておく。
📁C
└─📁Users
└─📁UserName
└─📄.wslconfig
[wsl2]
memory=1GB
Windows11でWSL2を使えるようにする
重要
Windows10の場合とは手順が異なります。
MacOSの場合には不要な工程です。
1)バージョン確認
Windows
キーを押して、winver
と入力する。Windows11 Proであることを確認。
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」のインストーラがダウンロードされる。
3)ダウンロードしたらインストーラをダブルクリックしてインストールをすすめる
4)インストーラが起動したら、「OK」をクリックし画面の指示に従ってインストールをすすめる。
※「Configuration」のチェックはそのままでOK。
5)Docker Desktopが起動するのでAccept→以降Skipの順で進みDockerエンジンを起動。
※Dockerエンジンを使用していないと今回の設定や、JupyterLabへの遷移ができない。
6)Windows PowerShell
を立ち上げる。
※dockerとたたいてスクリプト返ってきたらOK、何も返ってこないときはコンテナの立ち上げを確認。
コンテナの作成~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