2017-05-07 12 views
0

ほとんどの機能を実行するためにpython2.7を呼び出すDebian Linux用の小さなアプリケーションを書きました。 Pythonの関数にはリモートデータベースアクセスなどが含まれているので、デフォルトではすべてのLinuxディストリビューションに含まれていないPythonモジュールに依存します。Debian-pythonハイブリッドアプリケーションを展開するより良い方法

このアプリは、dpkg -i MyApp01を使用して、他の多くのマシン(同じLinuxディストリビューション)で使用するためにdpkgファイルにパッケージ化されています。

しかし、Pythonの依存関係は、アプリが動作するためには別途インストールする必要があります。たとえばpip install mysql-connector-python-rf

今、私はアプリで自分の依存関係を出荷するためにドッカーを使用して、それがなくても、他のマシン上で動作するようにしたいです上記のようにインストールします。 Dockerを使ってこれを行うことはできますか?

もしそうでなければ、dpkgファイル内のPythonの依存関係をネイティブにバンドルする方が良いでしょうか?

答えて

0

コンテナは隔離された環境なので、プログラムを実行するために必要なものすべてを出荷する必要があります。

あなたDockerfileはそう

FROM debian

で始まり、Debianベースされ、いくつかの

RUN apt-get update \ && apt-get install -y mysoft mydependency1 mydependency2

とも

RUN pip install xxx

を持っています3210

とあなたのPythonプログラムは確かに

import module1, module2

のようなものは、これらのPythonモジュールは、RUNディレクティブ

であなたのDockerfileにインストールする必要がありますんので

CMD ["python","myapp.py"]

のようなもので終わります

関連する問題