Как Docker Desktop запускает контейнеры Linux на Windows-машине - PullRequest
0 голосов
/ 19 января 2019

Я установил Docker для Windows на свой ноутбук с Windows 10. Теперь из-за этого «Докера для Windows» я могу запускать контейнеры Linux и на моем ноутбуке с Windows 10. Как это стало возможным? У меня есть вопросы, я что-то здесь упускаю?

Смотрите изображение для лучшей видимости Docker on Windows Machine running Linux container

1) На моей машине с Windows 10 установлено ядро ​​Windows. Правильно?

2) Когда я выбираю опцию для запуска контейнеров Linux, я думаю, что виртуальная машина Linux запускается поверх моей машины с Windows 10, а поверх этого запускаются контейнеры Linux. Это правильно?

3) Если виртуальная машина Linux запущена на компьютере с ОС TOP, какое ядро ​​используется? Ядро Linux VM или ядро ​​Windows 10?

4) И тогда как мы можем сказать, что контейнеры не включают в себя операционную систему, для окон они работают под управлением виртуальной машины Linux.

5) Теперь, если я запущу второй контейнер, он будет работать поверх уже запущенной виртуальной машины Linux или снова запустит новую виртуальную машину Linux? Я думаю, что он будет работать на той же виртуальной машине Linux, но спрашивает, чтобы не было путаницы.

6) Если виртуальная машина Linux запущена на вершине компьютера с Windows, то имеем ли мы какой-либо контроль над виртуальной машиной Linux, работающей как версия виртуальной машины Linux, и т. Д., Или она всегда одна и та же, и мы не имеем никакого контроля над это?

7) Если виртуальная машина Linux запускается поверх компьютера с Windows, то ресурсы Windows не видны для виртуальной машины Linux и, следовательно, для контейнера? Если это видно, то как Linux VM может общаться с Windows Host?

1 Ответ

0 голосов
/ 19 января 2019

1) Моя машина с Windows 10 имеет ядро ​​Windows. Правильно?

A: Да.

2) Когда я выбираю опцию для запуска контейнеров Linux, я думаю, что виртуальная машина Linux запускается поверх моей машины с Windows 10, а поверх этого запускаются контейнеры Linux. Это правильно?

A: Да. Будет гипер-v linux vm с именем mobylinux, вы можете увидеть это в менеджере hyper-v.

3) Если виртуальная машина Linux запущена на компьютере с ОС TOP, какое ядро ​​используется? Ядро виртуальной машины Linux или ядро ​​Windows 10?

A: Hyper-v VM использует ядро ​​Linux.

4) И как мы можем сказать, что контейнеры не включают в себя операционную систему, для окон они работают под управлением виртуальной машины Linux.

A: Не уверен, где вы получаете информацию. Образ докера имеет только файловую систему, например файловая система ubuntu16.04, но не имеет ядра. Когда контейнер запустится, он будет использовать файловую систему образа и разделить ядро ​​хоста (возможно, вы просто имеете в виду, что у него нет собственного ядра, поэтому вы называете его не имеющим операционной системы?)

5) Теперь, если я запущу второй контейнер, он будет работать поверх уже работающей виртуальной машины Linux или снова запустит новую виртуальную машину Linux? Я думаю, что он будет работать на той же виртуальной машине Linux, но спрашивает, чтобы не было путаницы.

A: Да, он снова будет работать на том же linux vm.

6) Если виртуальная машина Linux запущена на вершине компьютера с Windows, то имеем ли мы какой-либо контроль над виртуальной машиной Linux, работающей как версия виртуальной машины Linux, и т. Д., Или она всегда одинакова, и мы не имеем никакого контроля над это?

A: Нет, посмотрите это обсуждение , кажется, не может ssh для vm, просто какой-то обходной путь для доступа к файловой системе vm, поэтому не найдете никакого способа изменить дистрибутив ядра или linux.

7) Если виртуальная машина Linux запускается поверх компьютера с Windows, то ресурсы Windows не видны для виртуальной машины Linux и, следовательно, для контейнера? Если это видно, то как Linux VM может общаться с Windows Host?

A: Теоретически вы можете смонтировать папку windows в linux vm, тогда контейнер может использовать папку linux с томом. И Docker для Windows сделал это для вас, щелкните правой кнопкой мыши значок на панели задач, вы можете увидеть что-то вроде следующего, просто сделайте, как на картинке:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...