Как установить Docker на Windows Server 2016 без интернета?

3081
riqitang

Я пытаюсь установить докер на виртуальную машину Windows Server 2016, которая не подключена к Интернету. Официальная документация по докеру не дает никаких советов по установке на виртуальную машину Windows Server 2016 без Интернета, так как я могу этого добиться?

Я где-то читал блог, в котором говорилось, что достаточно скачать файлы docker.exe и dockerd.exe и поместить их в C: \ Windows \ System32, а затем запустить dockerd.exe --register-serviceдостаточно для установки Docker. В то время как это, кажется, "работало" ( docker infoимеет вывод), попытка извлечь изображение из моего локального реестра не удалась (он просто зависает без вывода ошибок). Кроме того, я заметил, что нет настройки DockerNAT NIC, и я собираюсь предположить, что отсутствуют другие шаги, о которых я не знаю.

1

1 ответ на вопрос

3
Ramhound

Сайт Docker фактически задокументировал весь процесс.

  1. В командной строке 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 
  1. Скопируйте 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 
  1. Протестируйте установку 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.

Есть другие шаги, которые вы должны предпринять, чтобы запустить и / или запустить Docker в ситуации, когда ваша система изолирована. Ваш вопрос был конкретно о том, как ** установить ** докер, так что это единственная часть вашей проблемы, на которой я сосредоточился. То, как вы запускаете Docker-контейнер в автономном режиме, хорошо задокументировано. Ramhound 6 лет назад 0
Ваш ответ, по-видимому, подразумевает, что если я заархивирую папку docker, которая находится на моем ПК, затем поместите ее в каталог Program Files на ВМ, добавьте местоположение к пути, затем выполните `dockerd --register-service`, это должно работать ? riqitang 6 лет назад 0
Документация указывает на это. Пытаясь исправить форматирование, я по ошибке скопировал неверный сегмент кода, по этой причине я предоставил ссылку на инструкции. ** Необходимо выполнить команды PowerShell во второй части процесса в соответствии с документацией. ** Ramhound 6 лет назад 1
Спасибо, это сработало, я запутался, потому что казалось, что он «завис», когда я пытался вытащить изображение, но оказалось, что оно двигалось очень медленно Я смог увидеть медлительность, выполнив команду `docker pull` с удаленного компьютера (моего ПК), который показал прогресс более близко, чем сеанс PowerShell. riqitang 6 лет назад 0

Похожие вопросы