Установка и настройка Docker на windows server 2019
Подробное руководство по установке, настройке и оптимизации Docker для windows server 2019
Введение
Docker — платформа для разработки, развертывания и управления контейнерами. В этом руководстве мы установим Docker Desktop на Windows Server 2019, настроим окружение и проверим работоспособность системы.
Требования
Минимальные требования:
- Windows Server 2019 Standard/Datacenter (версия 1809 или новее)
- 64-битный процессор с поддержкой SLAT
- 4 ГБ ОЗУ (рекомендуется 8+ ГБ)
- Включенная виртуализация в BIOS
- PowerShell 5.0+
- Административные права
Установка
Подготовка
- Включите Hyper-V и изоляцию контейнеров:
1Install-WindowsFeature Hyper-V, Containers -IncludeManagementTools -Restart
- Обновите систему:
1Update-Host 2Install-Module -Name DockerMsftProvider -Force
Процесс установки
- Установите Docker:
1Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- Перезагрузите сервер:
Restart-Computer -Force
- Проверьте версию:
1docker version
Настройка
- Запустите службу Docker:
Start-Service docker
- Настройте сеть:
1docker network create --subnet=172.28.0.0/16 custom_network
- Запустите тестовый контейнер:
1docker run hello-world:nanoserver
Примечание: Для работы с Linux-контейнерами используйте LCOW
Типичные ошибки и их решения
Ошибка: 'Hyper-V не установлен'
- Проверьте активацию компонента через
Get-WindowsFeature Hyper-V
Ошибка: 'No matching manifest'
- Укажите правильный тег образа, например
mcr.microsoft.com/windows/servercore:ltsc2019
Ошибка сети:
1Reset-NetAdapterAdvancedProperty -Name "vEthernet*" -RegistryKeyword "*NdisDeviceType" -RegistryValue 0
Заключение
Теперь у вас работает Docker на Windows Server 2019. Для дальнейшей настройки:
- Настройте Docker Daemon TLS
- Оптимизируйте хранилище через
docker system prune
- Используйте Docker Compose для управления мультиконтейнерными приложениями
Команды
Активация компонентов Windows
1Install-WindowsFeature Hyper-V, Containers -IncludeManagementTools -Restart
Установка Docker
1Install-Package -Name docker -ProviderName DockerMsftProvider -Force
Проверка работы Docker
1docker run hello-world:nanoserver
Решение проблем
Ошибка: 'Failed to start docker service'
Переустановите Docker и проверьте журналы Event Viewer -> Windows Logs -> System
1Get-WinEvent -LogName System | Where-Object {$_.Message -like '*docker*'}
Контейнеры не имеют доступа в интернет
Сбросьте настройки сети Docker
1docker network prune -f && docker system prune -af
Ошибка: 'Access is denied' при запуске контейнера
Запустите PowerShell от имени администратора и выполните:
1Set-ExecutionPolicy RemoteSigned