東京を脱出したい

気もするしそうでもない気もする

ローカルで構築したPython3環境をDocker Image 化する。

1. pip freezeによってrequirements.txtを作成

pip freeze > requirements.txt

参考
Python, pipでrequirements.txtを使ってパッケージ一括インストール | note.nkmk.me


2. Dockerfileを作成

# install python3
RUN set -x && \
    yum install -y python3 python3-devel && \
    rm -rf /var/cache/yum/* && \
    yum clean all

# prepare for pip
RUN pip3 install --no-cache-dir --upgrade setuptools wheel pip

# COPY requirements.txt /tmp/requirements.txt
# RUN pip install --no-cache-dir \
#     -r /tmp/requirements.txt


COPY : ローカルのファイルをコンテナ内にコピーするコマンド、requirements.txtをコンテナ内にコピーする。
RUN : コマンドを実行するコマンド、上記ではコンテナ内でpipなどを行う。
FROM: ベースとなるイメージ centosなど


3. Dockerコンテナを作成

作成したDockerfileコマンドがコンテナ内で動くか確認
動かない場合は都度修正してDockerfileも修正

#centosをベースにした際
docker run -it centos

[root@2846bc175937 /]#  ここで作業

4. Buildする

# Dockerfileのカレントディレクトリで作業する場合、pathの指定が不要となる。
docker build -t tmp1:1.0 .

# うまくいかない場合はとりあえずこちらを試す
docker builder prune

5. 動かしてみる

sudo docker run --name tmp1 -it tmp1:1.0 /bin/bash

#runの後にまた入りたくなったら
docker exec -i -t tmp1 bash