Установка Docker на WSL 2 — первая настройка контейнера
Установите Docker Desktop в Windows 10 или 11, используя серверную часть WSL 2 — сначала WSL, затем Docker, а затем проверенный контейнер hello-world. Включает честные проверки виртуализации, лицензирования и группы пользователей докеров.
📑Главы
- Почему порядок имеет значение: сначала WSL 2, затем Docker Desktop
- Сначала проверяем компьютер — версия Windows с Winver и виртуализацией в диспетчере задач.
- Установка WSL 2 одной командой, перезапуск и завершение первого запуска Ubuntu
- Проверка WSL — статус, список дистрибутивов и проверка версии 2 по умолчанию
- Установка Docker Desktop с серверной частью WSL 2
- Запуск первого контейнера — docker --version и hello-world
- Честные проверки — лицензирование Docker Desktop и группа пользователей docker
📋 Обзор и пошаговое руководство
Сначала проверьте свой компьютер
Docker Desktop с серверной частью WSL 2 требует трех вещей, и пропустив эту двухминутную проверку, люди теряют вечер. Во-первых, версия Windows: вам нужна Windows 10 версии 2004 или новее или Windows 11. Нажмите Win + R, введите winver и нажмите Enter, чтобы увидеть вашу точную версию.
winver
Во-вторых, виртуализация должна быть включена в BIOS или UEFI. Откройте диспетчер задач, перейдите в раздел Производительность, затем ЦП и найдите Виртуализация: включена. Если написано «Отключено», никакие программные настройки вас не спасут — сначала включите Intel VT-x или AMD SVM в BIOS. В-третьих, оставьте около 4 ГБ свободной оперативной памяти и несколько ГБ свободного места на диске: WSL 2 и Docker делят вашу машину, а не заменяют ее.
Прежде всего установите WSL 2
Большинство неудачных установок Docker в Windows завершаются неудачно по одной скучной причине: неправильный порядок. Docker Desktop предполагает наличие работающего WSL 2, поэтому сначала создайте основу. Откройте PowerShell от имени администратора и выполните одну команду:
wsl --install
Дайте ему завершиться, затем перезагрузите компьютер — перезагрузка не обязательна, она загружает компоненты виртуализации. После перезагрузки Ubuntu (дистрибутив по умолчанию) завершает собственную настройку и просит вас создать имя пользователя и пароль Linux.
sudo — выберите тот, который вы запомните, поскольку пока вы его вводите, на экране ничего не отображается. И не оставляйте дистрибутив наполовину созданным: дистрибутив, первый запуск которого так и не был завершен, является наиболее распространенной скрытой причиной зависания Docker Desktop при первом запуске.Убедитесь, что WSL 2 действительно готов
Прежде чем Docker приблизится к машине, подтвердите основание двумя командами:
wsl --status
wsl -l -v
В вашем дистрибутиве в списке должна быть указана ВЕРСИЯ 2. Если отображается 1, установите версию по умолчанию и преобразуйте дистрибутив, как предлагает вывод команды:
wsl --set-default-version 2
Каждый уровень тестируется перед запуском следующего, поэтому, если позже что-то пойдет не так, вы точно знаете, на каком уровне возникла проблема.
Установите Docker Desktop поверх
Загружайте Docker Desktop только с docker.com — сторонние сайты загрузки содержат ненужный мусор вместе с популярными установщиками. Запустите программу установки и оставьте флажок Использовать WSL 2 вместо Hyper-V; на большинстве компьютеров этот флажок установлен по умолчанию.
Когда установщик спросит, дайте ему закрыться и выйдите из системы или перезагрузите компьютер, если будет предложено. Docker добавляет вашу учетную запись Windows в локальную группу docker-users, и членство в группе вступает в силу только при новом входе в систему — эту честную проверку пропускают большинство руководств, и именно поэтому Docker иногда отказывается запускаться, пока вы не выйдете из системы и не войдете снова.
Запустите Docker Desktop и подождите, пока значок кита на панели задач не установится, а на информационной панели не появится сообщение Двигатель работает. Первый старт медленный; дайте ему пару минут. Честно примите экран «Соглашение об обслуживании подписки Docker» — это настоящая лицензия.
docker как внутри Ubuntu, так и в PowerShell, откройте настройки рабочего стола Docker, перейдите в раздел Ресурсы, затем Интеграция WSL и включите дистрибутив.Запустите свой первый контейнер — Hello World
Откройте новое окно PowerShell или терминала и запустите две команды, которые докажут, что вся цепочка работает:
docker --version
docker run hello-world
docker --version доказывает, что клиент установлен и находится в вашем PATH. docker run hello-world доказывает все остальное: Docker не может найти образ локально, загружает его из Docker Hub, создает из него контейнер, запускает его и печатает сообщение Hello from Docker!. Если это сообщение появляется, ваша цепочка работает от начала до конца — терминал, клиент, механизм внутри WSL 2, сеть и реестр.
🏷️Переменные и ключевые слова поиска по теме
🎙️ Полная расшифровка — нажмите, чтобы развернуть.
__TOK_28__
__TOK_29__
❓ Часто задаваемые вопросы
Это руководство на 100 % бесплатно?
__TOK_30__
Могут ли новички следовать этому руководству?
__TOK_31__
Где я могу задать вопросы, если застрял?
__TOK_32__