dockerでpip installした構成を永続化したい
dockerのコンテナの中で、pythonまたはjupyter notebookを動かしている場合、コンテナの中で pip install
して作った環境を使いまわしたいことがあります。
コンテナは一時的なものですから、コンテナが削除されると pip installして作った環境は消えます。
$ docker run <とあるイメージ> -it /bash/sh $$ pip install numpy # dockerの中でインストール $ docker stop <ID> $ docker rm <ID> $ docker run <とあるイメージ> -it /bash/sh $$ pip list ... numpy は存在しない
コンテナ内で作った環境を使いまわしたいときは、そのコンテナをコミットして、イメージにしておくと良いです。で、新しく作ったイメージからコンテナを立ち上げると、インストール済みの環境でリスタートできます。
$ docker run <とあるイメージ> -it /bash/sh $$ pip install numpy # dockerの中でインストール $ docker stop <ID> $ docker commit <コンテナの名前> <新しいイメージの名前> $ docker run <新しいイメージ> -it /bash/sh $$ pip list ... numpy がインストール済み!