Docker no puede iniciarse en Windows

95

La ejecución docker versiondevuelve 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
fuente
8
He llegado a la conclusión de que la tecnología no está madura en Windows. Utilice una ventana acoplable de Linux hasta que la tecnología madure.
Jim
use este comando docker-machine create box github.com/docker/toolbox/issues/636
Mr Nobody
asegúrese de haber seguido todos los pasos de configuración de la documentación: docs.docker.com/machine/get-started
fanny

Respuestas:

42

Código de error:

error durante la conexión: Obtener 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 de la ventana acoplable debe ejecutarse elevado para conectarse. Este error también puede indicar que el demonio de la ventana acoplable no se está ejecutando.

Soluciones:

1) Para la ventana de comandos de Windows 7 (cmd.exe), abra cmd.exe con ejecutar 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 con ejecutar 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
fuente
12
¡Explicación por favor! El método powershell es el más fácil de seguir. Pero, ¿por qué ocurre este problema y cómo es que un solo revestimiento puede solucionarlo?
Jaywalker
2
Si los pasos 1 y 2 son mutuamente excluyentes, ¿por qué están numerados 1 y 2?
sean
7
¿Qué pasa con Windows 10 (Enterprise)? Docker machine "default" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
Chloe
31

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

Jdoe
fuente
1
Esto funcionó para mí - Win10E - Docker versión 18.03.0-ce, build 0520e24 (usando linux vm - hyper v, virtualización habilitada - lo que me impide ejecutar vm en virtualbox - así que puedo usar Docker o una VM en un punto en el tiempo)
hB0
Esto no funciona para mi. Tengo ParserError: (:) [], ParentContainsErrorRecordException. Tuve que hacer stackoverflow.com/a/61062715/8718377
veben
13

Sé que esta pregunta fue hace mucho tiempo, pero no encontré una explicación y solución adecuadas, así que espero que mi respuesta sea útil :)

Suponiendo que instala acoplable Caja de herramientas en Windows, tanto dockery docker-machinecomandos estarán disponibles. A menudo, las personas se confunden cuando deben usar cualquiera de estos.

Los dockercomandos se utilizan solo dentro de una máquina virtual para administrar imágenes . Los docker-machinecomandos se utilizan en el host para administrar las VM de Linux.

Por lo tanto, use los docker-machinecomandos en su máquina Windows. Use el dockercomando dentro de su VM. Para usar los dockercomandos, por ejemplo, docker pspuede abrir la Terminal de inicio rápido de Docker o ejecutarlos en su cmd / bash / PowerShell:

docker-machine run default/ asumiendo que el valor predeterminado es su máquina virtual Linux /

docker-machine ssh default

Esto iniciará boot2docker y verá el icono de la ventana acoplable en la línea de comando. Entonces puedes usardocker comandos.

Buena suerte :)

Thinh Turbo
fuente
3
docker-machine: 'run' is not a docker-machine command. See 'docker-machine --help'.Eso no coincide con lo que dice la documentación. Los documentos dicen que puede ejecutar docker infoo docker psver sus contenedores. docs.docker.com/get-started/#test-docker-version
Chloe
11

El error está relacionado con esa parte:

En la configuración predeterminada del demonio en Windows, el cliente de la ventana acoplable debe ejecutarse elevado para conectarse

Puede hacer esto para cambiar el demonio de Docker:

  1. Abra Powershell como administrador
  2. Ejecute el siguiente comando:

cd "C:\Program Files\Docker\Docker" ./DockerCli.exe -SwitchDaemon

veben
fuente
1
Claro y conciso. Trabajó para mi.
mfonismo
1
¡MEJOR! ¡¡Gracias por este comentario!!
Ravish Rawat
11

Yo tuve el mismo problema.

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

Pradeep Sanjeewa
fuente
1
Esto también funcionó para mí :)
Gabriela Catalina
4

si estás en windows prueba esto

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

para probar prueba

docker run hello-world
RahulG
fuente
4

Si ha instalado Docker en Windows 10 Pro con Hyper-V habilitado y aún no puede ejecutar Docker en Windows 10, entonces, como sugiere el error, su demonio de Docker no se inicia.

Los siguientes pasos me ayudaron a iniciar Docker correctamente:

  1. Usar el comando en cmd (modo de administrador)

    docker-machine restart default
    
  2. Entonces recibirás un mensaje como:

    abierto C:\User\\{User_name}\\.docker\machine\machines\default\config.json:
    el sistema no puede encontrar el archivo especificado.

  3. Vaya al icono de la ventana acoplable que estará en la bandeja de Windows (esquina inferior derecha del escritorio)

  4. Haga clic derecho en el icono de la ventana acoplable> Configuración> Restablecer> Reiniciar Docker

    Tomará unos momentos

  5. Entonces verá el siguiente mensaje:

    Docker se está ejecutando con el indicador verde

Nota : Si ya tenía contenedores Docker ejecutándose en su sistema, no siga estos pasos. Puede perder los contenedores existentes.

ingrese la descripción de la imagen aquí

Prabhat Maurya
fuente
3
Docker machine "default" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
Chloe
3

Intente resolver el problema con cualquiera de las siguientes opciones:

Opcion A

Start-Service "Hyper-V Virtual Machine Management"
Start-Service "Hyper-V Host Compute Service"

o

Opción B

  1. Abra "Seguridad de ventana"

  2. Abra "Control de aplicaciones y navegador"

  3. Haga clic en "Configuración de protección contra vulnerabilidades" en la parte inferior.

  4. Cambiar a la pestaña "Configuración del programa"

  5. Busque "C: \ WINDOWS \ System32 \ vmcompute.exe" en la lista y expándalo

  6. Haga clic en "Editar"

  7. Desplácese hacia abajo hasta "Code flow guard (CFG)" y desmarque "Override system settings"

  8. Inicie vmcompute desde powershell "net start vmcompute"

  9. Luego reinicia tu sistema

MayankGaur
fuente
3

Me he enfrentado al mismo problema, puede ser un problema del administrador, así que siga los pasos a continuación para configurar la ventana acoplable en

windows10

.

  1. Descargue el escritorio de Docker desde Docker Hub después de iniciar sesión en Docker.Docker Desktop Installer.exese descargará el archivo.
  2. Instalar Docker Desktop Installer.exeusandoRun as administrator -> Marque el contenedor de Windows durante la instalación; de lo contrario, solo instalará el contenedor de Linux. Le pedirá Cerrar sesión después de cerrar la sesión e iniciar sesión; muestra el escritorio acoplable en el menú.
  3. Después de la instalación, vaya a -> administración de computadoras -> Usuarios y grupos locales -> Grupos -> docker-user -> Agregar usuario en miembros ingrese la descripción de la imagen aquí
  4. Ejecute el escritorio de Docker usando Run as administrator ingrese la descripción de la imagen aquí
  5. Verifique el ícono de la ballena docker en la pestaña Notificación ingrese la descripción de la imagen aquí
  6. ejecutar comando> versión de la ingrese la descripción de la imagen aquí ventana acoplable Utilizando con éxito la ventana acoplable sin ningún problema.
naveen dahiya
fuente
2

Para mí, el problema era que la virtualización no estaba habilitada.

En Windows 10: vaya al administrador de tareas -> Rendimiento -> CPU y debería ver una sección como "Virtualización: habilitada"

Si no ve esta opción, significa que no se ha habilitado la virtualización.

Otra cosa interesante a tener en cuenta es que debe tener Hyper V habilitado. Sin embargo, como estaba usando el escritorio paralelo, tuve que habilitar "Virtualización anidada" para que Hyper V estuviera "realmente habilitado". Entonces, si su Windows es una máquina virtual, consulte la configuración de Parallels (o lo que sea que esté usando) que tiene habilitada la virtualización anidada.

Prasanth Louis
fuente
2

Recibí los mismos errores después de una instalación en Windows 10. E intenté reiniciar pero no funcionó, así que hice lo siguiente ( no recomiendo si ha estado trabajando en la ventana acoplable por un tiempo, esto fue en una instalación nueva):

1) Encuentra la ballena en la bandeja del sistema y haz clic derecho

2) Vaya a configuración> Restablecer

3) Restablecer los valores predeterminados de fábrica

Luego pude seguir el tutorial de inicio de la ventana acoplable en el sitio web con Windows 10, y ahora funciona como un encanto.

cela
fuente
No hay ballena en la bandeja del sistema.
Chloe
Hay una máquina virtual predeterminada que se ejecuta en mi máquina que está ejecutando el trabajador de la ventana acoplable, reinicié esa máquina virtual y luego resolví el error de la ventana acoplable en Windows
Freelancer
2

Últimamente tuve el mismo problema. El problema era que el software de seguridad (Trendmicro) estaba bloqueando la ventana acoplable para crear la interfaz de red Hyperv. También debe verificar el firewall, el software AV que no bloquea la instalación o configuración.

haltunbay
fuente
Gracias. Esto ayudó.
sv_vs
2

Abra la unidad C en powershell o Git bash y ejecute el comando debajo

.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon
Amit Kumar
fuente
2

Si ninguna de las otras respuestas funciona para usted, intente esto: Abra una terminal y ejecute:

wsl -l -v 

Si observa que hay una ventana acoplable-escritorio que queda colgando en el estado 'Instalando', cierre Docker, ejecute powershell como administrador y anule el registro de la ventana acoplable-escritorio:

PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop

Reinicie la ventana acoplable y espero que funcione. Si no es así, intente desinstalar Docker primero, luego anule el registro de Docker-Desktop y vuelva a instalar Docker.

Fuente: https://github.com/docker/for-win/issues/7295#issuecomment-645989416

Dave
fuente
2

Recibí el mismo error para la versión 19.03.12 de Docker y Windows 10 . Lo resolvió siguiendo los pasos a continuación. Espero que ayude a otros.

  1. Vaya a Inicio de Windows -> Cuadro de búsqueda ( escriba aquí para buscar ). Allí ingrese ' Servicios '. Entre los elementos enumerados, haga clic en Servicios aplicación .
  2. Ahora busque ' Docker Desktop Service ' en la ventana Servicios abierta. Haga clic derecho sobre él y comience el servicio. Su estado debe cambiarse a "En ejecución ".
  3. Si el paso 2 da un error como ' el servicio de dependencia no pudo iniciarse ', inicie todos los servicios de dependencia. Para mí, tuve que iniciar un servicio llamado ' Servidor '.
  4. Haga doble clic en ' Docker Desktop en el icono ' en el escritorio. Ahora verá ' Docker Desktop se está ejecutando ' en la bandeja del sistema.
  5. Ahora ejecute el comando ' versión docker ' desde el símbolo del sistema o PowerShell . Debería dar una salida limpia.
  6. Si tiene algún problema en el paso 5, ejecute el símbolo del sistema o PowerShell como administrador.

La resolución anterior supone que Docker ya está instalado y que Hyper-V / Virtualization está habilitado en su sistema.

RLD
fuente
1

Estoy usando Windows 7 con Docker Toolbox y para solucionarlo simplemente abra Docker Quickstart Terminal.

$ docker versión Cliente: Versión: 17.05.0-ce Versión de API: 1.29 Versión de Go: go1.7.5 Confirmación de Git: 89658be Construido: Viernes 5 de mayo 15:36:11 2017 OS / Arch: windows / amd64

Servidor: Versión: 17.05.0-ce Versión de API: 1.29 (versión mínima 1.12) Versión de Go: go1.7.5 Confirmación de Git: 89658be Construido: Jue 4 de mayo 21:43:09 2017 OS / Arch: linux / amd64 Experimental: falso

Xelian
fuente
1

Para mí, el error se resolvió deteniendo una instancia virtual de Ubuntu que se había estado ejecutando en Hyper-V:

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.

Una vez que se detuvo la instancia de Ubuntu y se reinició Docker Desktop, mis comandos habituales de la ventana acoplable funcionaron bien.

PD: Tuve la idea de probar esto debido a un registro de errores que Docker Desktop había compilado amablemente y se ofreció a enviar a Docker Hub como comentarios de los usuarios ... el registro parecía indicar que mi máquina tenía poca RAM y Docker estaba fallando por esta sencilla razón. Matar la instancia de Ubuntu resolvió eso.

olisteadman
fuente
1

Para win10 tuve el mismo problema:

error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/images/load?quiet=0: 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.

El servicio de Docker pareció funcionar. Reiniciar no ayudó. Ejecutar el binario desde el directorio de instalación como administrador ayudó.

En mi caso:

run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe
Mateusz Wicher
fuente
Esto resolvió mi problema. Ejecución de Docker Windows CE con contenedores de Windows. ¡Gracias!
AA
'"C:\Program Files\Docker\Docker\Docker for Windows.exe"' is not recognized as an internal or external command, operable program or batch file.
Chloe
1

Yo también enfrenté un error que dice

"Access is denied. 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."

Se resolvió esto ejecutando "powershell" en modo administrador.

Shashank G
fuente
1

Uno de mis amigos estaba teniendo un problema similar, lo probamos y funcionó.

Hyper-V, a pesar de estar en la lista "Activar o desactivar las funciones de Windows" como activo, en realidad no estaba activo. Esto se hizo evidente al ejecutar systeminfo en PowerShell y ver que los requisitos se enumeraron como cumplidos (que no es el resultado que esperaría si Hyper-V realmente se estuviera ejecutando).

  1. Abre "Activar o desactivar las funciones de Windows".
  2. Si no está seguro de cómo hacer esto, consulte https://www.howtogeek.com/250228/what-windows-10s-optional-features-do-and-how-to-[turn-them-on-or- desactivado /] [1]
  3. Desactive Hyper-V (desmarque la casilla y asegúrese de que todos los subcomponentes estén marcados como desactivados)
  4. Haga clic en "Aceptar" y su máquina se reiniciará.
  5. Cuando la computadora se inicie nuevamente, abra "Activar o desactivar las funciones de Windows" y vuelva a activar Hyper-V. Su máquina se reiniciará nuevamente.

Ahora puede probar ejecutando docker hello-world image.

Supreet Singh
fuente
0

Me encuentro con el mismo problema. Resolví esto habilitando hyper-v.

  1. Habilite la virtualización en BIOS
  2. Instalar hyper-v
Zorro rojo
fuente
0

Intente ejecutar lo siguiente desde un símbolo del sistema elevado:

SET DOCKER_CERT_PATH=C:\Users\[YourName]\.docker\machine\machines\default
SET DOCKER_HOST=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox

También puede encontrar que incluso sin configurar esas variables env, ejecutar comandos desde la terminal de inicio rápido de Docker no funciona sin problemas.

KidCode
fuente
¿Podemos tener una explicación de lo que hacen esos comandos? No me siento cómodo configurando mi DOCKER_HOST a alguna dirección IP que sé que no existe en mi red.
Bobort
Disculpas, esa era la IP local de mi demonio de la ventana acoplable. Lo he eliminado ahora.
KidCode
0

Resuelto para mí ejecutando una aplicación de escritorio Docker, notificación de registro. Configure si es necesario.

$ net start com.docker.service

Se está iniciando el servicio de Docker para Windows. El servicio de Docker para Windows se inició correctamente.

$ docker version

$ net start com.docker.service

El servicio solicitado ya se ha iniciado.

user311086
fuente
0

con la actualización reciente de Docker, tuve un problema que era la aplicación Docker colgada al inicio. Resolví esto terminando wsl.exe usando taskmanager.

ingrese la descripción de la imagen aquí

Suyama Madushan
fuente
0

Para mí, este problema se resolvió cantando en Docker Desktop.

ingrese la descripción de la imagen aquí

Atul Jain
fuente
0

Necesita el privilegio de administrador para ejecutar el servicio

Tuve un problema similar. El problema desaparece cuando ejecuto el símbolo del sistema (ejecutar como administrador "y escribo" versión de la ventana acoplable ").

C: \ WINDOWS \ system32> versión de Docker

Cliente: Docker Engine - Versión de la comunidad: 19.03.8 Versión de API: 1.40 Versión de Go: go1.12.17 Confirmación de Git: afacb8b Construido: Mié 11 de marzo 01:23:10 2020 OS / Arch: windows / amd64 Experimental: falso

Servidor: Docker Engine - Community Engine: Versión: 19.03.8 Versión API: 1.40 (versión mínima 1.12) Versión Go: go1.12.17 Confirmación de Git: afacb8b Construido: Mié 11 de marzo 01:29:16 2020 OS / Arch: linux / amd64 Experimental: falso contenedord: Versión: v1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Versión: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9Comdd docker-init: Versión docker-init: 83

Mitchell
fuente
0

Después de instalar Docker Desktop en su PC (Windows One). Puede encontrar esta ubicación. ¿Qué es realmente? Inicia Docker Daemon a través de su CLI

C:\Windows\System32\cmd.exe\DockerCli.exe -SwitchDaemon
Dinuwan Kalubowila
fuente
Proporcione más detalles a su respuesta; de lo contrario, es posible que se marque como de baja calidad.
Ethan Vu
después de instalar Docker Desktop en su PC (Windows One). Puede encontrar esta ubicación. ¿Qué es realmente? Inicia el Docker Daemon a través de su CLI
Dinuwan Kalubowila
Edité tu respuesta para agregar detalles según tu comentario. También puede editar la respuesta usted mismo. Y hay un artículo sobre cómo escribir respuestas que reciben un voto positivo , es genial.
Ethan Vu
0

Se enfrentó a un problema similar, después de haber instalado el escritorio de la ventana acoplable en una máquina virtual de Windows, que se ejecuta en WSL2.

Solución:

Se actualizó Windows a la última compilación y VMTools a la última versión (11.2), se solucionó el problema, ahora Docker funciona sin parar.

Sasi Kumar M
fuente
-1

Primero inicie Powershell "como Administrador" que también evitará el error que le produjo docker version.

El intenta iniciar el servicio de ventana acoplable: start-service docker Si eso no funciona eliminar el archivo docker.pid encontrará con cd $env:programfiles\docker; rm docker.pid
ultimo, debe cambiar HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\VSmbDisableOplocksa 0o eliminar el valor.

Falco Alexander
fuente