1. ホーム
  2. python

virtualenvはdockerを使うときに(本番で)役に立ちますか?

2023-09-10 08:14:01

質問

開発では、依存関係に関して隔離された開発を行うためにvirtualenvを使用しています。以下から この質問 にPythonアプリケーションをデプロイしているようです。 virtualenv が推奨されるようです。

これで、私たちが使い始めた ドッカー を使い始めています。これはより分離された環境を提供するので、私は docker コンテナ内で virtualenv を使用することに疑問を感じています。単一のアプリケーションの場合は、docker がすでに分離を提供しているので、virtualenv には目的がないと思います。複数のアプリケーションが 1 つの docker コンテナにデプロイされる場合、アプリケーションには競合する依存関係がある可能性があるため、virtualenv には目的があると思います。

単一のアプリケーションを docker コンテナにデプロイする場合、virtualenv を使用すべきでしょうか?

docker には複数のアプリケーションを入れるべきですか、それともコンテナごとに 1 つのアプリケーションだけを入れるべきですか?

その場合、複数のアプリケーションを含むコンテナをデプロイする際に virtualenv を使用すべきでしょうか?

どのように解決するのですか?

Virtualenvはdockerよりずっと前に作られたものです。今日、私はこれらの理由から virtualenv ではなく docker に傾倒しています。

  • Virtualenv は、あなたの製品を消費する人々が卵をダウンロードする必要があることをまだ意味します。docker を使用すると、彼らは動作することが分かっているものを手に入れることができます。無条件で。
  • Dockerはvirtualenvよりはるかに多くのことができます(異なるPythonバージョンを必要とする製品があるときに、クリーンな環境を作成するような)。

Dockerの主な欠点は、Windowsのサポートが貧弱であることでした。これは Windows 10 用のバージョンで変わりました。

1つのコンテナにいくつのアプリを入れるかについては、通常のポリシーは1つです。