Плюси і мінуси використання контейнерів Windows замість контейнерів Linux для Docker?


36

Я встановлюю Docker для Windows (CE) на Windows 10, і перший екран запитує мене:

[] Використовуйте контейнери Windows замість контейнерів Linux (це можна змінити після встановлення)

Це здається важливим рішенням, але документація Docker , FAQ та підручник з контейнерами Windows не містить інформації про те, чому я можу вибрати один за іншим.

Було б корисним об'єктивний огляд наслідків цього вибору:

  • Чи буде один варіант швидшим за інший?
  • Чи впливає рішення на використання системних ресурсів (оперативна пам'ять, процесор)?
  • Чи можна запускати однакові зображення обох типів?
  • Чи один безпечніший за інший?

Будь-які інші відмінності, які могли б допомогти мені дійти висновку, були б дуже вітаються.


Відповідь на це не заснована на думці. І це прийнято. Тож не потрібно закривати цю.
Нільс

Відповіді:


19

ВИ ХОТИ використовувати хост Windows для контейнерів Windows, однак ви можете використовувати хост Linux або хост Windows для контейнерів Linux. З квітня 2018 року ви можете навіть бігати обома паралельно .

Чи буде один варіант швидшим за інший?

Ні швидше, що?

Чи впливає рішення на використання системних ресурсів (оперативна пам'ять, процесор)?

Windows використовує більше ресурсів, ніж Linux - Windows Nano настільки ж маленький, скільки отримує

Чи можна запускати однакові зображення обох типів?

Ні. Ви можете запускати .NET програми в моно контейнерах, але ви не можете запустити контейнер Windows на хості Linux і навпаки - це не те саме, що віртуалізація

Чи один безпечніший за інший?

Знову - більш безпечно при чому? Ні. Вони обидва запускають нативний Docker, тому це не що інше, як гіпер-v проти VMware і більше схоже на Linux проти Windows, тому все залежить від того, що ви збираєтеся запускати .net, python, java, ruby ​​і т.д.


2
По-друге це. Прочитане доповнення до цієї відповіді containerjournal.com/2016/10/28/…
A.Newgate

4
Отже, якщо я виріблю використовувати контейнери Linux, Docker запустить Hyper-V Linux VM для запуску моїх контейнерів, інакше він буде запускати контейнери Windows спочатку? І я не можу одночасно запускати обидва типи контейнера?
Данкан Джонс

1
Докер для Windows 10 дозволяє зробити це - але у виробництві у вас з'явиться докерний рой з хостами Linux та Windows
Sum1sAdmin

Docker заснований на lxc (Linux) - він буде використовувати те саме ядро, що і Docker-хост. Якщо ви запускаєте windows у lxc, він повинен віртуалізуватися чи імітувати win. Не впевнений, чи те ж саме стосується win-docker, оскільки win підтримує Linux.
Нілс

1
@DuncanJones, лише через 3 дні після того, як ви запитали, з’явилося повідомлення про блог на MSDN, в якому пояснюється, що тепер ви можете паралельно запускати контейнери для Windows і Linux.
Йонас Гейдельберг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.