Я пытаюсь установить docker на виртуальную машину Windows Server 2016, которая не подключена к Интернету. Официальная документация docker не дает никаких советов по установке на виртуальную машину Windows Server 2016 без Интернета, так как мне этого добиться?
Я где-то читал блог, в котором говорилось, что достаточно загрузить файлы docker.exe и dockerd.exe и поместить их в C:\Windows\System32, а затем запустить их, dockerd.exe --register-service
чтобы установить Docker. Хотя это, похоже, "сработало" ( docker info
есть вывод), попытка извлечь образ из моего локального реестра не удалась (он просто зависает без вывода ошибок). Кроме того, я заметил, что нет настройки DockerNAT NIC, и я предполагаю, что есть и другие пропущенные шаги, о которых я не знаю.
решение1
На сайте Docker фактически задокументирован весь процесс.
- В командной строке PowerShell загрузите архив установщика на компьютер, имеющий подключение.
invoke-webrequest -UseBasicparsing -Outfile docker-17.06.2-ee-7.zip https://download.docker.com/components/engine/windows-server/17.06/docker-17.06.2-ee-7.zip
- Скопируйте zip-файл на машину, на которую вы хотите установить Docker. В командной строке PowerShell используйте следующие команды для извлечения архива, регистрации и запуска службы Docker.
# Extract the archive.
Expand-Archive docker-17.06.2-ee-7.zip -DestinationPath $Env:ProgramFiles
# Clean up the zip file.
Remove-Item -Force docker-17.06.2-ee-7.zip
# Install Docker. This requires rebooting.
$null = Install-WindowsFeature containers
# Add Docker to the path for the current session.
$env:path += ";$env:ProgramFiles\docker"
# Optionally, modify PATH to persist across sessions.
$newPath = "$env:ProgramFiles\docker;" +
[Environment]::GetEnvironmentVariable("PATH",
[EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("PATH", $newPath,
[EnvironmentVariableTarget]::Machine)
# Register the Docker daemon as a service.
dockerd --register-service
# Start the Docker service.
Start-Service docker
- Проверьте установку Docker EE, запустив контейнер hello-world.
docker container run hello-world:nanoserver
Установить Docker Enterprise Edition для Windows Server
Поскольку вы не указали, какую версию Windows Server вы используете, следующая информация может оказаться актуальной.
Docker Universal Control Plane в настоящее время не поддерживается в Windows Server 1709 из-за проблем с несовместимостью образов. Чтобы использовать UCP, на данный момент используйте текущий выпуск Windows LTSB, а не 1709.