Docker no puede conectarse al demonio de Docker

Resuelto LiJung asked hace 10 años • 0 respuestas

Después de actualizar mi versión de Docker a 0.8.0, aparece un mensaje de error al ingresar sudo docker version:

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

Y seguí las instrucciones e ingresé el comando sudo docker -d, y obtuve esto:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

¿Cómo soluciono el problema?

LiJung avatar Feb 19 '14 12:02 LiJung
Aceptado

linux

La documentación de Pasos posteriores a la instalación para Linux revela los siguientes pasos:

  1. Cree el grupo acoplable .
    ventana acoplable sudo groupadd
  2. Agregue el usuario al grupo de Docker .
    sudo usermod -aG docker $(whoami)
  3. Cierre sesión y vuelva a iniciarla para asegurarse de que Docker se ejecute con los permisos correctos.
  4. Inicie la ventana acoplable.
    inicio de la ventana acoplable del servicio sudo

Mac OS X

Como dice Dayel Ostraco es necesario agregar variables de entorno:

docker-machine start # Start virtual machine for docker
docker-machine env  # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables

El docker-machine startcomando genera los comentarios para guiar el proceso.

molavec avatar Nov 08 '2015 16:11 molavec

linux

Para ejecutar Docker Daemon en Linux (desde CLI ), ejecute:

$ sudo service docker start # Ubuntu/Debian

Nota: omita el $carácter al copiar y pegar.

En RedHat/CentOS, ejecute: sudo systemctl start docker.

Para inicializar el sistema de archivos "base", ejecute:

$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start

o manualmente como:

$ sudo docker -d --storage-opt dm.basesize=20G

Instalar docker-machineen Linux

Para instalar binarios de máquina en Linux:

  • en la zona:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine
    
  • global:

    sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine'
    

Mac OS

En macOS, el dockerbinario es solo un cliente y no puede usarlo para ejecutar el demonio Docker, porque el demonio Docker usa funciones del kernel específicas de Linux, por lo tanto, no puede ejecutar Docker de forma nativa en OS X. Por lo tanto, debe instalarlo docker-machinepara crear. VM y adjuntarlo.

Instalar docker-machineen MacOS

Si aún no tiene docker-machineel comando, instálelo utilizando uno de los siguientes métodos:

  • Usando el comando Brew : brew install docker-machine docker.
  • manualmente desde GitHub :

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
    

Consulte: Introducción a Docker para Mac .

Configurar docker-machineen macOS

Para iniciar Docker Machine a través de Homebrew, ejecute:

brew services start docker-machine

Para crear una defaultmáquina (si no tiene una, consulte:) docker-machine ls:

docker-machine create --driver virtualbox default

Luego configure el entorno para el cliente Docker:

eval "$(docker-machine env default)"

Luego verifique nuevamente enumerando los contenedores:

docker ps

Consulte: Introducción a Docker Machine y una máquina virtual local .


Instale Docker.app en macOS

Como alternativa a la solución anterior, puede instalar una aplicación Docker de la siguiente manera:

brew cask install docker

Consulte esta publicación para obtener más detalles . Ver también: No se puede conectar al demonio Docker en macOS

kenorb avatar Jan 19 '2016 21:01 kenorb

Si está ejecutando Docker en OS X, ejecutar la siguiente evaluación me ha funcionado.

eval "$(docker-machine env default)"

Si prefiere no tener que ejecutar esta declaración de evaluación en cada sesión de terminal, puede agregar esto a su bash_profile:

#Docker
eval "$(docker-machine env default)"

Asegúrese de reiniciar la sesión del terminal o ejecutar el código fuente bash_profilepara que los cambios surtan efecto.

Dayel Ostraco avatar Nov 26 '2015 03:11 Dayel Ostraco

Después de una investigación detallada, este problema parece ocurrir cada vez que se reinicia Mac OS X (o se reinicia la máquina virtual Docker), lo que impide que el cliente Docker se conecte al demonio Docker.

Para resolver el problema, puedes:

A) Reinstale Docker Toolbox usando el instalador oficial ( https://www.docker.com/products/docker-toolbox ), o simplemente

B) Ejecute los siguientes comandos en orden:

# First make sure that the virtual machine is running
docker-machine start default

# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default

# Finally, set env
eval "$(docker-machine env default)"

C) Igual que (B), también puedes copiar y pegar la siguiente línea para ejecutar los tres comandos:

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

En caso de que reciba el siguiente error:

Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err     : exit status 255
output  :

simplemente vuelva a ejecutar los tres comandos otra vez y debería funcionar la segunda vez.

K.A.D. avatar Jan 01 '2016 09:01 K.A.D.