
Контекст
Я настроил 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.