web-dev-qa-db-ja.com

単一のアプリ用に何百ものコンテナを作成する最も効率的な方法は何ですか。 LXCまたはDocker?

専用サーバーがあり、その中に200個までのコンテナを作成する必要があります。

各コンテナーは単一のアプリケーションのみを実行します。コンテナー自体のリソース使用量の観点から、このための最も効率的な方法を探しています。

LXCコンテナーまたはDockerコンテナーは、実行するアプリケーションのリソース使用量を考慮せずに、空のコンテナーとして使用するリソースを少なくするのだろうか?

サーバーの制限をプッシュして、できるだけ多くのコンテナーを作成したいので、これのために最もリソース効率の良い方法を探しています。

2
Marry Jane

単一のアプリ用に何百ものコンテナを作成する最も効率的な方法は何ですか。 Docker?

docker-compose --compatibility up

次に「レプリカ」を使用します

version: '3'
services:
  worker:
    image: dockersamples/your_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 1000

単一のアプリ用に何百ものコンテナを作成する最も効率的な方法は何ですか。 LXC

LXCで同様の方法を知りません。 lxc-copyは1を実行するため、999のクローンを実行するにはbashスクリプトが必要になります。

LXCコンテナーまたはDockerコンテナーは、実行するアプリケーションのリソース使用量を考慮せずに、空のコンテナーとして使用するリソースを少なくするのだろうか?

はい。しかし、それは大きな違いになるとは思いません。

サーバーの制限をプッシュして、できるだけ多くのコンテナーを作成したいので、これのために最もリソース効率の良い方法を探しています。

理論上、Dockerの最大値は1ホストで1023です(ただし、1000ではパフォーマンスヒット:-Xが発生しました)。ただし、さらに必要な場合は、 macvlan ( "...を使用してMACアドレスを割り当てる方法があります。各コンテナの仮想ネットワークインターフェースに接続し、物理ネットワークに直接接続されている物理ネットワークインターフェースのように見せます。」

->(おもしろい)1000を作成し、約257Mbを使用しました。起動に10分、停止に9分かかりました。

1
Rinzwind