264

Windowsdocker versionでコマンドを実行すると、次の結果が返されます。

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

診断を実行すると、次の結果が生成されます。

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at <ScriptBlock>, <No file>: line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at <ScriptBlock>, <No file>: line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
 [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at <ScriptBlock>, <No file>: line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at <ScriptBlock>, <No file>: line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>
4

50 に答える 50

75

Docker CLI を実行"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemonして、Linux または Windows コンテナーのいずれかに向けることができます。これは私にとってはうまくいきました。

于 2018-03-17T07:01:54.057 に答える
47

エラーコード:

接続中のエラー: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version : open //./pipe/docker_engine: 指定されたファイルが見つかりません。Windows のデフォルトのデーモン構成では、docker クライアントを管理者特権で実行して接続する必要があります。このエラーは、docker デーモンが実行されていないことを示している場合もあります。

ソリューション:

1) Windows 7 コマンド ウィンドウ (cmd.exe) の場合、管理者として実行して cmd.exe を開き、次のコマンドを実行します。

docker-machine env --shell cmd default

次の出力が表示されます。

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

以下のコマンドをコピーして、cmd で実行します。

@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

次に、次のコマンドを実行して制御します。

docker version

2) Windows 7 Powershell の場合、管理者として実行して powershell.exe を開き、次のコマンドを実行します。

docker-machine env --shell=powershell | Invoke-Expression

次に、次のコマンドを実行して制御します。

docker version

3) cmd または powershell を再度開いた場合は、関連する手順をもう一度繰り返す必要があります。

于 2017-06-14T06:54:05.387 に答える
-1

これらの回答のすべてを試すことに失敗した後、Windows 11にアップグレードしました

(私の場合: 19043.1237 -> 22000.258)

于 2021-10-13T05:06:02.943 に答える
-3

Powershell を「管理者として」起動して、エラーが発生しないようにしてくださいdocker version

これらのヒントは、2021 年の時点でおそらく時代遅れになっているでしょう。

次に、docker サービスの開始を試みます。失敗した場合は、[ Finally you should change to the value]または [delete the value start-service docker ] で見つかる docker.pid ファイルを削除します。cd $env:programfiles\docker; rm docker.pid
HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\VSmbDisableOplocks0

于 2016-11-07T12:39:29.057 に答える