Python の実行ファイルを入れて「Docker を実行するとその Python が実行される」そんな Dockerfile の Image を作りたいと思います。
はじめに
- Windows 10 Home 21H1
- Docker version 20.10.8
準備
まず、どのバージョンの Python を使うか決めます。
DockerHub の Python Official Image から使いたい Python のバージョンを決めます。
私は、新しすぎると動かないことと容量が気になったので「3.9.7-slim-buster」を使って Dockerfile を作ることに決めました。

Dockerfile を作る
使う Python が決まったら実際に Dockerfile を作って行きます。
まず、適当なフォルダを作ってその中に「Dockerfile」と言う名前のファイル作ります。拡張子は無し。

Dockerfile には下記をコピペしておきます。
FROM python:3.9.7-slim-buster
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD [ "python", "./hello-world.py" ]
hello-world.py
同じフォルダ内に「hello-world.py」と「requirements.txt」を作ります。
中身は一番シンプルなものでいきます。
print('Hello World!!')
「requirements.txt」の中身は今回不要なので空です。とりあえずこんな感じになればOK

Image を作成
1つ上の階層に戻って、Image を作成するバッチファイルを作ります。
「docker-build.bat」というファイルを作って下記をコピペします。
cd Python-run
docker build -t docker-python .
cd ../
docker save docker-python -o docker-python.tar
4行目で出来上がった Imageファイルを tar型式にアーカイブして出力しています。
なので出来上がった「python-run.tar」このファイルを渡せば簡単に Docker を動かすことができます。
バッチファイルを実行したらこんな感じになります。

フォルダ内に「python-run.tar」が作られてたら成功です。

実行
「python-run.tar」を動かしたいPCにコピペしたら、実際に実行したいと思います。
python-run.tar と同じフォルダ内にバッチファイルを作って実行します。ファイル名は「docker-run.bat」にしました。
docker load -i python-run.tar
docker run -it --rm --name python-run python-run
バッチファイルを実行するとこのように結果が表示されます。
