Ошибка:

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
Enter your comment. Wiki syntax is allowed:
 
  • ms_windows_ms_sql/windows_server_2016_containers.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1