ローカルで構築した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