Docker Desktop запускает свои контейнеры в Windows или в WSL2?

Docker Desktop запускает свои контейнеры в Windows или в WSL2?

Контекст
Я настроил WSL2 под управлением Debian. Я запускаю несколько скриптов Docker Compose. Все содержится в WSL2, кроме Docker Desktop, который я установил на Windows.

Я уже читал, что можно запустить Docker в WSL2 без Docker Desktop в Windows. Однако я не понимаю, что происходит под капотом, когда я использую Docker Desktop. Тем более, что я никогда (сознательно) не устанавливал никаких пакетов docker на экземпляр Debian.

Docker Desktop в Windows показывает мне, какие контейнеры запущены. Запуск и ввод-вывод происходят в экземпляре Debian.

Вопрос
Работают ли движок/контейнеры Docker в Windows или внутри WSL2?

решение1

См. документацию Docker. Docker Desktop WSL 2 бэкэнд на Windows:

Подсистема Windows для Linux (WSL) 2 — это полное ядро ​​Linux, созданное Microsoft, которое позволяет дистрибутивам Linux работать без управления виртуальными машинами. С Docker Desktop, работающим на WSL 2, пользователи могут использовать рабочие пространства Linux и избегать поддержки скриптов сборки Linux и Windows. Кроме того, WSL 2 обеспечивает улучшения совместного использования файловой системы и времени загрузки.

Контейнеры работают под WSL2 внутри упрощенной виртуальной машины. Сама виртуальная машина выполняется Hyper-V, работающим на хосте Windows.

Docker Desktop запускает свои контейнеры в Windows или в WSL2?

Так что ответ на вопрос на самом деле: "оба". Он работает под WSL2, который, в свою очередь, работает под Windows.

Связанный контент