【動画で解説】DockerでPythonのバージョン指定をする方法
– docker tutorial for beginners
視聴時間:3分53秒
文字情報だけでは分からない場合に、DockerでPythonの詳細バージョン指定のチュートリアル動画をご活用いただけますと幸いです。
【動画の内容】
0:00 はじめに
0:43 手順解説:DockerでPythonバージョン指定
3:25 おわりに
Dokcerで困った…Pythonの詳細バージョンの指定方法
以下の記述コード例の方法
記述コード例:
Dockerfile
# Linux Ubuntu 22.04をインストール
FROM ubuntu:22.04
# aptをアップデート
RUN apt update
# Python 3.10系をインストール
RUN apt install -y python3.10
RUN apt install -y python3-pip
で、Dockerfileからapt(アプト)を使ってPythonをインストールすると
・その時点のaptのパッケージにあるPython 3.10系の最新バージョン
* 2024年10月7日時点では「Python 3.10.12」
がインストールされるようでした。
Python 3.10系の過去のバージョンを指定してインストールしたいと思い、色々なコードを試してみたところ、解決策を見つけましたので、以下にコードを掲載しておきます。
【コピー&ペースト用:Dockerfile記述コード】DockerでPythonの詳細バージョンを指定
コピー&ペースト用 – 記述コード:
Dockerfile
# Linux Ubuntu 22.04をインストール(OS指定の一例)
FROM ubuntu:20.04
# Pythonをインストールするための依存関係をインストール
RUN apt-get update && apt-get install -y --no-install-recommends wget build-essential libreadline-dev \
libssl-dev libncursesw5-dev libsqlite3-dev libgdbm-dev libbz2-dev liblzma-dev zlib1g-dev libdb-dev uuid-dev libffi-dev
# 任意バージョンのPythonをインストール
ARG PYTHON_VERSION=3.10.10 # ここにインストールしたいバージョンを指定
RUN wget --no-check-certificate https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar -xf Python-${PYTHON_VERSION}.tgz \
&& cd Python-${PYTHON_VERSION} \
&& ./configure --enable-optimizations\
&& make \
&& make install
【実行コード】Dockerfileの作成〜Docker Imageの作成・Docker Image内でPythonバージョンの確認
以下は
・Docker Desktop
Docker Desktop:ローカル環境でDocker Imageなどを作成できます
:Docker Desktop
で実行しています。
フォルダの作成
実行コード:
mkdir PythonImage
*「PythonImage」というフォルダを作成する例です。
カレントディレクトリ(作業フォルダ)の指定
実行コード:
cd PythonImage
*「PythonImage」というフォルダをカレントディレクトリに指定する例です。
Dockerfileの作成
実行コード:
touch Dockerfile
フォルダ名で検索し、Dockerfileをテキストエディタで編集します。
Dockerfileに指示を記述
記述コード:
# Linux Ubuntu 22.04をインストール(OS指定の一例)
FROM ubuntu:20.04
# Pythonをインストールするための依存関係をインストール
RUN apt-get update && apt-get install -y --no-install-recommends wget build-essential libreadline-dev \
libssl-dev libncursesw5-dev libsqlite3-dev libgdbm-dev libbz2-dev liblzma-dev zlib1g-dev libdb-dev uuid-dev libffi-dev
# 任意バージョンのPythonをインストール
ARG PYTHON_VERSION=3.10.9 # ここにインストールしたいバージョンを指定
RUN wget --no-check-certificate https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar -xf Python-${PYTHON_VERSION}.tgz \
&& cd Python-${PYTHON_VERSION} \
&& ./configure --enable-optimizations\
&& make \
&& make install
*「Python 3.10.9」をインストールする例です。
Docker Imageの作成
実行コード:
docker build -t python-demo .
*「python-demo」という名前のDocker Imageを作成する例です。
Docker Imageを表示
実行コード:
docker images
出力結果:
REPOSITORY TAG IMAGE ID CREATED SIZE
python-demo latest 5d87c19858ec 10 minutes ago 911MB
Docker Imageに入る(起動)
実行コード:
docker run --rm -t -i 5d87c19858ec /bin/bash
* IMAGE ID「5d87c19858ec」の例
* docker run –rm -t -i [Docker ImageのID] /bin/bash
出力結果:
root@〜:/#
Pythonのバージョンを確認
実行コード:
python3 --version
出力結果:
Python 3.10.9
*「Python 3.10.9」をインストールしたDocker Imageの例です。
Docker Imageから出る(終了)
実行コード:
exit
おわりに
機械学習プログラミングの開発環境を整えるために、特定のPythonのバージョンを指定できると便利ですね。
ただ、今回の方法の難点としては、Pythonのインストールに「10分以上」(10分〜12分程)時間がかかることです。
詳細のバージョンを気にしない場合には、apt(「RUN apt install -y python3.10」)を使ってインストールすると早いかと思います。
今回の一連の情報が、自分と同じようにPythonのバージョン指定ができずに困っている方の、問題解決のきっかけになることがありましたら幸いです。
:【ERROR Codes】- プログラミング学習エラーコード集(一覧)
docker pushで時間を取られたDocker初学者の方も多いのではないかと思います…
– 【Dockerチュートリアル】困った…docker pushできない:Error – denied