2017-11-26 6 views
0

私はドッカーには比較的新しいので、単純なケースを除いて使用していませんので、私にご負担ください。ドッカー画像をカスタム更新する方法

私はscipy、sklearnなど必要なモジュールのいくつかが欠けているpython3ドッカー画像を持っています。私はイメージ(docker run -i -t python)を実行してから、必要なパッケージをダウンロードしてインストールできます。下のコンテナ内から:私は、コンテナを終了し、すべてのインストールがなくなっている再起動が

>>> import pip 
>>> pip.main(["install", "sklearn", "scipy"]) 

。どうすればそれらを永続化できますか?

+0

あなたのコンテナのスナップショットを取るために 'docker commit'を使うことができます。しかし、もっと良い方法は、公式のPythonイメージに基づいてカスタムイメージを作成し、これらの依存関係をインストールするステップが含まれていることです。 –

+0

どこからドッカーのコミットを実行しますか?私はコンテナを使用するときに私はPythonのシェル上にある、私は私がインストールしたものを失うシェルを終了する場合。 – user3079275

+0

例については、https://stackoverflow.com/questions/19585028/i-lose-my-data-when-the-container-exitsを参照してください。 –

答えて

1

適切な方法は、ソースイメージに基づいてカスタムイメージを作成することです。このためには、イメージに含めるべきものを定義する必要があります。これはDockerfileを使って行うことができます。これは、単純なテキストファイルです、あなたのケースで、それは次のようになります。あなたはDockerfileを持っているところ

FROM python:3 

RUN pip install sklearn scipy 

は、それからちょうどフォルダにdocker build -t myPythonImage .を実行します。終了すると、dockerで新しいイメージをmyPythonImageを使用して使用できるようになります。公式サイトに関する詳しい情報:https://docs.docker.com/engine/reference/builder/

関連する問題