Apa cara paling efisien untuk membuat ratusan kontainer untuk satu aplikasi; LXC atau Docker?


2

Saya memiliki server khusus dan saya perlu membuat ~ 200 kontainer di dalamnya.

Setiap kontainer hanya akan menjalankan satu aplikasi dan saya mencari cara yang paling efisien untuk hal ini dalam hal penggunaan sumber daya untuk wadah itu sendiri.

Saya ingin tahu apakah wadah LXC atau wadah Docker akan menggunakan lebih sedikit sumber daya sebagai wadah kosong, tanpa mempertimbangkan penggunaan sumber daya dari aplikasi yang akan saya jalankan?

Saya ingin mendorong batas server saya untuk membuat wadah sebanyak mungkin, jadi saya mencari cara yang paling efisien untuk sumber daya.


1
Sekitar 1000 kontainer pada satu host harus dimungkinkan dengan Docker dan LXC. Melihat jumlah Praktis batas LXC bersamaan pada satu node dan Apakah ada jumlah maksimum kontainer yang berjalan pada host Docker? . Docker tampaknya memiliki batas yang agak sulit pada 1024 karena kernel tidak mendukung jembatan jaringan virtual dengan lebih banyak antarmuka yang terpasang. Tidak yakin tentang LXC, tidak dapat menemukan sumber daya pasti tentang itu. Secara pribadi saya akan berpikir Docker akan lebih fleksibel, terutama untuk mengatur.
Byte Commander

@ByteCommander 1023 ;-)
Rinzwind

Jawaban:


1

Apa cara paling efisien untuk membuat ratusan kontainer untuk satu aplikasi; Buruh pelabuhan?

docker-compose --compatibility up

dan kemudian gunakan "replika"

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

Apa cara paling efisien untuk membuat ratusan kontainer untuk satu aplikasi; LXC

Saya tidak tahu metode serupa untuk LXC. lxc-copytidak 1 sehingga Anda akan memerlukan skrip bash untuk melakukan 999 klon.

Saya ingin tahu apakah wadah LXC atau wadah Docker akan menggunakan lebih sedikit sumber daya sebagai wadah kosong, tanpa mempertimbangkan penggunaan sumber daya dari aplikasi yang akan saya jalankan?

Iya. Tapi saya ragu itu akan menjadi perbedaan besar.

Saya ingin mendorong batas server saya untuk membuat wadah sebanyak mungkin, jadi saya mencari cara yang paling efisien untuk sumber daya.

Docker max dalam teori adalah 1023 pada 1 host (tetapi pada 1000 saya mendapat hit kinerja: -X) tetapi jika Anda membutuhkan lebih ada cara menggunakan macvlan ("... untuk menetapkan alamat MAC ke antarmuka jaringan virtual masing-masing wadah, membuatnya tampak sebagai antarmuka jaringan fisik yang terhubung langsung ke jaringan fisik. ")

-> Saya membuat 1000 (hanya untuk bersenang-senang) dan menggunakan sekitar 257Mb. Butuh 10 menit untuk memulai dan 9 menit untuk menghentikan semuanya.


"Saya membuat 1000 dan masing-masing menggunakan sekitar 200Mb" - itu akan menjadi 200GB total penggunaan RAM. Bisakah saya meminjam server ini beberapa saat, atau maksud Anda total 200 MB? : D
Byte Commander

Terima kasih atas jawaban Anda. Sepertinya saya tidak bisa menjelaskan. Pertama-tama, saya tidak tertarik cara membuat wadah. Saya pada dasarnya hanya bertanya-tanya berapa banyak sumber daya akan 200 kontainer buruh pelabuhan kosong vs penggunaan wadah LXC. Bagaimanapun, dalam jawaban Anda untuk pertanyaan ini, Anda telah menyatakan sebagai Yes. But I doubt it will be a big difference.tetapi saya baru saja membuat 200 kontainer lxc dan mereka menggunakan 15 gb RAM secara total sebagai wadah kosong sementara 200 kontainer buruh pelabuhan dengan gambar ubuntu hanya menggunakan total 500 mb RAM. Apa yang Anda pikirkan tentang ini?
Marry Jane

@ByteCommander the 1st> :) Tapi saya punya wadah 1TB ;-) (1000 biaya saya 19 euro sepertinya :-D) Hmm saya bisa; t membuat wadah lxc (seperti yang Anda lihat pada jawaban saya D: itu adalah semua buruh pelabuhan). Saya akan mencari buruh pelabuhan tapi saya tidak punya bukti lain bahwa kami melakukan ini beberapa tahun yang lalu dan memutuskan buruh pelabuhan -tapi- saat ini menggunakan mesin cloud ;-)
Rinzwind

Mesin cloud yang mana? @Rinzwind
Marry Jane

Semua 4 yang penting ;-) 70 awan Google yang semuanya memiliki cadangan di kedua google (di zona lain) dan pada AWS dan pasangan yang juga memiliki versi di Azure. Dan kami memiliki pasangan di Cina (di cloud Alibaba dengan google cloud sebagai cadangan).
Rinzwind
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.