Docker no puede iniciarse en Windows

Resuelto Jim asked hace 8 años • 0 respuestas

La ejecución docker versiondel comando en Windows arroja los siguientes resultados:

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.

La ejecución de los diagnósticos produce lo siguiente:

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>
Jim avatar Nov 07 '16 13:11 Jim
Aceptado

El error está relacionado con esa parte:

En la configuración predeterminada del demonio en Windows, el cliente Docker debe ejecutarse de forma elevada para conectarse

  • Primero, verifique que Docker Desktopla aplicación se esté ejecutando. De lo contrario, ejecútelo: eso ejecutará el demonio acoplable (solo espere unos minutos).

  • Luego, si el error persiste, puede intentar cambiar el tipo de demonio Docker, como se explica a continuación:

Con Powershell :

  1. Abra Powershell como administrador
  2. Comando de lanzamiento:& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

O, con cmd :

  1. Abrir cmd como administrador
  2. Comando de lanzamiento:"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
veben avatar Apr 06 '2020 15:04 veben

Iniciar el demonio acoplable resolvió el problema. Simplemente busque Docker presionando la tecla de Windows y haciendo clic en "Docker Desktop". El demonio debería estar ejecutándose en un minuto. ingrese la descripción de la imagen aquí

Después de iniciar Docker Desktop, asegúrese de que el estado del demonio de Docker en la parte inferior izquierda sea verde y muestre EN EJECUCIÓN cuando pase el cursor sobre él.

Pradeep Sanjeewa avatar May 07 '2020 04:05 Pradeep Sanjeewa

Puede ejecutar "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemony apuntar Docker CLI a contenedores de Linux o Windows. Esto funcionó para mí.

Jdoe avatar Mar 17 '2018 07:03 Jdoe

Código de error:

error durante la conexión: Obtenga http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version : open //./pipe/docker_engine: El sistema no puede encontrar el archivo especificado. En la configuración predeterminada del demonio en Windows, el cliente Docker debe ejecutarse de forma elevada para conectarse. Este error también puede indicar que el demonio acoplable no se está ejecutando.

Soluciones:

1) Para la ventana de comandos de Windows 7 (cmd.exe), abra cmd.exe, ejecútelo como administrador y ejecute el siguiente comando:

docker-machine env --shell cmd default

Recibirá el siguiente resultado:

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

Copie el siguiente comando y ejecútelo en cmd:

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

Y luego ejecute el siguiente comando para controlar:

docker version

2) Para Windows 7 Powershell, abra powershell.exe, ejecútelo como administrador y ejecute el siguiente comando:

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

Y luego ejecute el siguiente comando para controlar:

docker version

3) Si vuelve a abrir cmd o powershell, debe repetir los pasos relacionados nuevamente.

javasenior avatar Jun 14 '2017 06:06 javasenior