Wie installiere ich Docker auf Windows Server 2016 ohne Internet?

Wie installiere ich Docker auf Windows Server 2016 ohne Internet?

Ich versuche, Docker auf einer Windows Server 2016-VM zu installieren, die nicht mit dem Internet verbunden ist. Die offizielle Docker-Dokumentation enthält keine Hinweise zur Installation auf einer Windows Server 2016-VM ohne Internet. Wie kann ich dies also erreichen?

Ich habe irgendwo einen Blog gelesen, in dem stand, dass es ausreicht, die Dateien docker.exe und dockerd.exe herunterzuladen und in C:\Windows\System32 abzulegen. Anschließend dockerd.exe --register-servicegenügte es, sie auszuführen, um Docker zu installieren. Dies scheint zwar „funktioniert“ zu haben ( docker infoes gibt eine Ausgabe), aber der Versuch, ein Image aus meiner lokalen Registrierung herunterzuladen, schlägt fehl (es friert einfach ein, ohne dass eine Fehlerausgabe erfolgt). Außerdem stelle ich fest, dass kein DockerNAT-NIC-Setup vorhanden ist, und ich vermute, dass noch weitere Schritte fehlen, die mir nicht bekannt sind.

Antwort1

Die Docker-Website hat tatsächlich den gesamten Prozess dokumentiert.

  1. Laden Sie in einer PowerShell-Eingabeaufforderung das Installationsarchiv auf einen Computer herunter, der über eine Verbindung verfügt.
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. Kopieren Sie die ZIP-Datei auf den Computer, auf dem Sie Docker installieren möchten. Verwenden Sie in einer PowerShell-Eingabeaufforderung die folgenden Befehle, um das Archiv zu extrahieren, den Docker-Dienst zu registrieren und zu starten.
# 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. Testen Sie Ihre Docker EE-Installation, indem Sie den „Hello-World“-Container ausführen.
docker container run hello-world:nanoserver

Installieren Sie Docker Enterprise Edition für Windows Server

Da Sie nicht angegeben haben, welche Version von Windows Server Sie verwenden, könnten die folgenden Informationen relevant sein.

Aufgrund von Image-Inkompatibilitätsproblemen wird Docker Universal Control Plane derzeit auf Windows Server 1709 nicht unterstützt. Um UCP zu verwenden, verwenden Sie vorerst die aktuelle LTSB-Windows-Version und nicht 1709.

verwandte Informationen