Шаг 2: установка Docker


  1. Включим systemd в WSL. Откройте терминал, установленный ранее, и выполните
    sudo nano /etc/wsl.conf
    
    Добавьте в конец файла
    [boot]
    systemd=true
    

    Для сохранения нажмите последовательно: Ctrl+O -> Enter -> Ctrl+X

  2. Закройте терминал. Запустите powerShell под администратором и выполните
    wsl --shutdown
    
  3. Снова откройте ubuntu в терминале. Выполните установку необходимых пакетов
    sudo apt-get update
    
    sudo apt-get install -y ca-certificates curl gnupg
    
  4. Добавьте ключ, выполнив такие команды
    sudo install -m 0755 -d /etc/apt/keyrings
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
  5. Добавьте репозиторий (выполняется как одна команда)
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
    https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" \
    | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    Если на шагах с apt-get, curl или добавлением репозитория появляются сетевые ошибки, таймауты или ошибки сертификата, попробуйте повторить команду позже и поищите решение по точному тексту ошибки.

  6. Установите докер
    sudo apt-get update
    
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  7. Включите автозапуск докер
    sudo systemctl enable --now docker
    
  8. Добавьте пользователя в группу docker
    sudo usermod -aG docker $USER
    
    newgrp docker
    
  9. Проверьте установку
    docker version
    

Если Docker не скачивает образы

На следующем шаге Docker будет скачивать образы из интернета. В некоторых сетях загрузка может зависать или завершаться ошибкой из-за маршрутизации, DNS или MTU.

В этом случае можно попробовать настроить Docker через файл /etc/docker/daemon.json.

sudo nano /etc/docker/daemon.json

Вставьте в файл такую конфигурацию:

{
  "registry-mirrors": ["https://mirror.gcr.io"],
  "dns": ["1.1.1.1", "8.8.8.8"],
  "max-concurrent-downloads": 1,
  "mtu": 1400
}

Сохраните файл и перезапустите Docker:

sudo systemctl restart docker

Такая конфигурация помогла в окружении, где Docker не скачивал образы без дополнительной настройки. Она не универсальна. Если проблема останется, поищите решение по точному тексту ошибки и запросам вроде docker pull timeout WSL DNS MTU registry mirror.

На третий шаг установки –>