ブログ

Docker で Python環境を構築する手順

動機

以下の動機で、Docker でPython環境を構築した。

  • Pythonバージョンを気軽に変更して実験したい
  • Anaconda よりも移植性を高めたい

事前準備

正しく Docker がインストールされてることが前提。
手順:WSL2 Ubuntu に Docker をインストールする手順

ディレクトリ構成

docker_python/
  ├ Dockerfile
  ├ docker-compose.yml
  └ app/
    └ sample.py

Windowsターミナルから Ubuntu を開いて、docker_pythonフォルダを作成。

Dockerfile を作成

こちら からPythonバージョンを選ぶ。
以下では 3.9.10-buster を指定。
jupyterlab 3.2.8 もインストールする設定。(お好みで)

FROM python:3.9.10-buster
USER root

RUN apt-get update
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools

RUN pip install jupyterlab==3.2.8

docker-compose.yml を作成

Dockerfile を使用するので image ではなく build を使用。

version: '3'
services:
  python:
    restart: always
    build: .
    container_name: 'Jupyter'
    working_dir: '/root/app'
    tty: true
    volumes:
      - ./app:/root/app

sample.py を作成

print("Hello")

Dockerイメージ作成、コンテナビルド、コンテナ起動

cd docker_python/
docker-compose up -d --build

イメージとコンテナの確認

docker image ls
docker container ls

コンテナへの接続

docker-compose.yml の services名 を指定。

docker-compose exec python bash

Python実行

python sample.py

コンテナの削除

exit
docker-compose down

コンテナの再起動

docker-compose up -d

JupyterLab をブラウザで使う

docker run -v $PWD/app:/root/app -w /root/app -it --rm -p 7777:8888 docker_python_python jupyter-lab --ip 0.0.0.0 --allow-root -b localhost

http://127.0.0.1:7777 にアクセスし、token をコピペして入力すれば JupyterLab 使用可能。
Ctrl + C で JupyterLabサーバーを終了。

 

-ブログ

© 2022 墾田ええねん! Powered by AFFINGER5