В этой статье мы подробно рассмотрим процесс установки Docker Engine на VPS с Windows Server 2025 без использования Hyper-V. Следуйте этим шагам, чтобы успешно настроить Docker на вашем сервере.
Предварительные требования
Перед началом убедитесь, что у вас есть:
- VPS с установленной Windows Server 2025.
- Права администратора на сервере.
- Доступ к интернету для загрузки необходимых файлов.
- Отключенный Hyper-V (поскольку мы устанавливаем Docker без него).
- Минимум 4 ГБ оперативной памяти и 20 ГБ свободного дискового пространства.
Шаг 1: Подготовка системы
1. Обновите Windows Server:
Откройте PowerShell от имени администратора и выполните команду для установки последних обновлений:
Install-WindowsUpdate -AcceptAll -AutoReboot
Дождитесь завершения обновлений и перезагрузите сервер, если потребуется.
2. Проверьте, отключен ли Hyper-V:
В PowerShell выполните:
Get-WindowsFeature *Hyper-V*
Убедитесь, что Hyper-V не установлен. Если он активен, удалите его с помощью:
Uninstall-WindowsFeature -Name Hyper-V
Шаг 2: Установка контейнерной платформы Windows
1. Включите функцию контейнеров:
В PowerShell выполните:
Install-WindowsFeature -Name Containers
После завершения перезагрузите сервер:
Restart-Computer
Шаг 3: Установка Docker Engine
1. Скачайте Docker Engine:
Перейдите на официальный сайт Docker или используйте PowerShell для загрузки последней версии Docker:
Invoke-WebRequest -Uri https://download.docker.com/win/static/stable/x86_64/docker-20.10.24.zip -OutFile docker.zip
Замените 20.10.24
на актуальную версию, если она изменилась.
2. Распакуйте архив:
Распакуйте загруженный файл:
Expand-Archive -Path docker.zip -DestinationPath C:\Docker
3. Добавьте Docker в системный путь:
[Environment]::SetEnvironmentVariable("Path", "$($env:Path);C:\Docker", [System.EnvironmentVariableTarget]::Machine)
4. Зарегистрируйте Docker как службу:
Перейдите в папку Docker:
cd C:\Docker
Зарегистрируйте службу:
dockerd --register-service
5. Запустите службу Docker:
Start-Service docker
Шаг 4: Проверка установки
1. Проверьте версию Docker:
docker --version
Вы должны увидеть что-то вроде: Docker version 20.10.24, build xxxxx
.
2. Запустите тестовый контейнер:
docker run hello-world
Если установка прошла успешно, вы увидите приветственное сообщение от Docker.
Шаг 5: Настройка Docker для использования без Hyper-V
1. Настройте Docker для использования контейнеров Windows:
Убедитесь, что Docker настроен на использование контейнеров Windows (по умолчанию в Windows Server). Проверьте конфигурацию:
docker info --format '{{.OSType}}'
Должно отобразиться windows
.
2. Переключение на процесс изоляции:
Убедитесь, что Docker использует изоляцию процесса (process isolation) вместо Hyper-V:
docker run --isolation=process mcr.microsoft.com/windows/nanoserver:ltsc2022
Шаг 6: Дополнительная настройка (опционально)
1. Настройте автозапуск Docker:
Убедитесь, что служба Docker запускается автоматически:
Set-Service -Name docker -StartupType Automatic
2. Установите Docker Compose (если требуется):
Загрузите Docker Compose:
Invoke-WebRequest -Uri https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-windows-x86_64.exe -OutFile C:\Docker\docker-compose.exe
Добавьте его в системный путь, если необходимо.
3. Настройте брандмауэр:
Разрешите Docker в брандмауэре Windows:
New-NetFirewallRule -Name "Docker" -DisplayName "Docker" -Protocol TCP -LocalPort 2375 -Action Allow
Устранение неполадок
Docker не запускается:
Проверьте логи службы:
Get-EventLog -LogName Application -Source Docker
Убедитесь, что служба работает:
Get-Service docker
Проблемы с сетью:
Проверьте настройки брандмауэра и убедитесь, что порты открыты.
Контейнер не запускается:
Убедитесь, что образ контейнера совместим с Windows Server 2025, например, используйте: mcr.microsoft.com/windows/nanoserver:ltsc2022
Итог
Теперь Docker Engine успешно установлен на вашем VPS с Windows Server 2025 без Hyper-V. Вы можете использовать его для запуска контейнеров Windows и автоматизации рабочих процессов. Если у вас возникнут вопросы, обратитесь к официальной документации Docker или задайте вопрос в сообществе разработчиков.
Примечание: Все команды выполняйте в PowerShell от имени администратора. Убедитесь, что ваша система соответствует минимальным требованиям, и следите за обновлениями Docker для получения последних функций и исправлений.