Запуск Docker внутри Ubuntu с WSL2 — Windows 10

Если вы использовали WSL или Docker, вы уже испытали магию виртуализации. С Windows 10, представляющей WSL2, теперь вы можете запускать образ Docker из Ubuntu через WSL2, подключенный к приложению Docker Desktop вашего хоста. Это просто безумие! Это начало на уровне ОС.

Сегодня мы рассмотрим, как включить эту интеграцию, чтобы вы могли запускать Docker внутри Ubuntu, который работает внутри Windows 10 через WSL2. Мы также исследуем и поймем небольшую магию, скрытую за сценой, и посмотрим, как все работает за сценой.

Во-первых, чтобы включить Docker для Ubuntu в Windows через WSL2 вам нужно перейти в Docker Desktop > Настройки > Ресурсы > Интеграция WSL

Убедитесь, что у вас установлен «Включить интеграцию. с выбранным моим дистрибутивом WSL по умолчанию », а также включите каждый дистрибутив (если у вас работает несколько Linux). Для меня Ubuntu установлен только через WSL2, так что это единственный вариант, показанный здесь.

Как только мы его включим, вы можете запускать Ubuntu, и даже не устанавливая «докер» в Ubuntu, вы сможете для запуска команды « docker ». Если мы запустим:

  docker ps -a  

Все стандартные команды докеров будут работать точно так же, как Windows, и вы увидите распечатку существующего контейнера докеров, имя изображения и все детали, которые вы найдете в изображениях Docker Desktop. вкладка. Удивительно видеть, что это работает бок о бок.

Так что же на самом деле происходит за сценой?

Давайте запустим эту команду, и вы получите краткий обзор. о том, что происходит.

  wsl -l  

В PowerShell, если вы запустите указанную выше команду, она распечатает все Windows Подсистема для дистрибутивов Linux. Но проверьте это, он печатает Ubuntu, docker-desktop-data и docker-desktop . Мы установили Ubuntu только как дистрибутив Linux, но никогда не «установили» другой дистрибутив.

Причина, по которой это работает, заключается в том, что под ним работает Docker и использует WSL2 для обеспечения своей виртуализации. Что касается Windows, Docker — это просто еще один дистрибутив, работающий поверх ядра Linux.

Интеграция между Docker Desktop действительно позволяет различным дистрибутивам взаимодействовать друг с другом, поэтому в нашем случае Ubuntu могла запускать и выполнять команды, которые влияют на другую виртуальную машину, работающую внутри дистрибутива докеров. У Microsoft есть полный документ, в котором более подробно рассказывается о том, как это работает за сценой. Зацените, если вам интересно!

Оцените статью
toodcast.ru
Добавить комментарий