Ошибка:
install-package -name docker -providername DockerMsftProvider -Force WARNING: Cannot find path 'C:\Users\TESUSR~1\AppData\Local\Temp\DockerMsftProvider\DockerDefault_DockerSearchIndex.json' because it does not exist.
Она возникает при попытке установить Docker, запустив консоль PowerShell непосредственно на сервере, на котором Docker он будет работать. Причина - в службе BITS (https://github.com/OneGet/MicrosoftDockerProvider/issues/11) Как исправить - подключаться удаленно к этому серверу. Для этого на клиенте (компьютере с которого подключаетесь к серверу с контейнерами) нужно добавить хост в доверенные (или разрешить доверие к любым хостам):
Set-Item wsman:\localhost\client\trustedhosts *
На сервере с контейнерами разрешить удаленное подключение PowerShell Remote:
Enable-PSRemoting -Force Restart-Service WinRM
Затем подключиться к хосту и устанавливать Docker так:
Enter-PSSession -ComputerName COMPUTER -Credential USER Install-Module -Name DockerMsftProvider -Repository PSGallery -Force Install-Package -Name docker -ProviderName DockerMsftProvider Restart-Computer -Force
Вручную
Если возникает ошибка SHA256 not matching while installing docker, то можно установить докер вручную:
https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
https://docs.docker.com/engine/installation/windows/docker-ee/
$version = (Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/docker/docker/master/VERSION).Content.Trim() Invoke-WebRequest "https://master.dockerproject.org/windows/x86_64/docker-$($version).zip" -OutFile "$env:TEMP\docker.zip" -UseBasicParsing Expand-Archive "$env:TEMP\docker.zip" -DestinationPath $Env:ProgramFiles Remove-Item -Force "$env:TEMP\docker.zip" $null = Install-WindowsFeature containers $env:path += "$env:ProgramFiles\docker" $newPath = "$env:ProgramFiles\docker;" + [Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::Machine) [Environment]::SetEnvironmentVariable("PATH", $newPath, [EnvironmentVariableTarget]::Machine) "$env:ProgramFiles\docker\dockerd.exe --register-service" Restart-Computer -Force
Проверяем:
docker run hello-world:nanoserver
Discussion