Quiero mudarme a Docker, así que acabo de empezar a jugar con eso. He instalado Docker en una instalación VirtualBox Ubuntu 15.10 (Wily Werewolf) y, como se sugiere aquí , intenté ejecutar una imagen básica de nginx Docker:
$ docker run --name mynginx1 -P -d nginx
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Así que verifiqué si Docker se estaba ejecutando:
$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since vr 2015-11-06 08:41:48 CET; 15min ago
Docs: https://docs.docker.com
Main PID: 7542 (docker)
CGroup: /system.slice/docker.service
└─7542 /usr/bin/docker daemon -H fd://
nov 06 08:41:47 kramer65-VirtualBox systemd[1]: Starting Docker Application Container Engine...
nov 06 08:41:47 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:47.900410966+01:00" level=info msg="API ...ock"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.033514149+01:00" level=info msg="Fire...lse"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.141594321+01:00" level=info msg="Defa...ess"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.416294436+01:00" level=warning msg="Y...it."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.565507576+01:00" level=info msg="Load...rt."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567907022+01:00" level=info msg="Load...ne."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567945214+01:00" level=info msg="Daem...ion"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567969891+01:00" level=info msg="Dock....9.0
nov 06 08:41:48 kramer65-VirtualBox systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
Esto sugiere que el demonio Docker ya se está ejecutando, pero para estar seguro, acabo de iniciar el demonio Docker manualmente:
$ sudo docker daemon
INFO[0000] API listen on /var/run/docker.sock
INFO[0000] [graphdriver] using prior storage driver "aufs"
INFO[0000] Firewalld running: false
INFO[0000] Default bridge (docker0) is assigned with an IP address XXX.XX.X.X/XX. Daemon option --bip can be used to set a preferred IP address
WARN[0000] Your kernel does not support swap memory limit.
INFO[0000] Loading containers: start.
INFO[0000] Loading containers: done.
INFO[0000] Daemon has completed initialization
INFO[0000] Docker daemon commit=76d6bc9 execdriver=native-0.2 graphdriver=aufs version=1.9.0
Luego intenté ejecutar la imagen nuevamente, pero con el mismo resultado:
$ docker run --name mynginx1 -P -d nginx
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Intenté sudo'ing el comando, pero fue en vano. ¿Qué estoy haciendo mal aquí?
Respuestas:
Debe agregar su usuario actual al grupo de acopladores de la siguiente manera:
luego cierre sesión e inicie sesión nuevamente en el sistema o reinicie el sistema. prueba por
docker version
Para obtener más información sobre cómo instalar Docker-Engine, siga la documentación de Docker
fuente
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Agregue el usuario al grupo acoplable
Agregue el grupo acoplable si aún no existe:
sudo groupadd docker
Agregue el usuario conectado "$ {USER}" al grupo acoplable:
sudo gpasswd -a ${USER} docker
Reinicia el demonio Docker:
sudo service docker restart
Haga una
newgrp docker
o cierre sesión / inicie sesión para activar los cambios en los grupos.fuente
newgrp docker
es local para el shell, no la sesión de inicio de sesión. Esto no está del todo claro en la página del manual.Por lo general, el siguiente comando hace el truco:
Esto, en lugar de
docker start
para los casos en los que Docker ya parece estar ejecutándose.Si eso funciona, como se sugiere y en otra respuesta y sobre este problema de GitHub , si no se ha agregado al grupo de docker, hágalo ejecutando:
Y lo más probable es que estés listo.
En cuanto a que alguien más se encuentre con esto, en la ventana acoplable de algunos sistemas operativos no se inicia inmediatamente después de instalarlo y, como resultado,
can't connect to daemon message
aparece lo mismo . En este caso, primero puede verificar que Docker no se esté ejecutando verificando el estado de su servicio de Docker ejecutando:Si la salida se parece a algo así: en
docker stop/waiting
lugar dedocker start/running, process 15378
eso, obviamente significa que Docker no está activo. En este caso, asegúrese de comenzar con:Y, como antes, lo más probable es que estés listo para ir.
fuente
Nota personal: me sale el error del título de la pregunta cuando olvido ejecutar el
docker
comando consudo
:sudo docker run ...
[Ubuntu 15.10]
fuente
Tuve el mismo problema y lo que funcionó para mí fue:
Verificar la propiedad de /var/run/docker.sock
Si no eres el propietario, cambia la propiedad con el comando
Luego puede seguir adelante e intentar ejecutar los comandos de Docker sin problemas: D
fuente
root
pero endocker
grupo. El enfoque correcto es asignar su usuario actual aldocker
grupo, de acuerdo con la documentación de Docker:sudo groupadd docker && sudo usermod -aG docker $USER
Después de instalar todo e iniciar el servicio, intente cerrar su terminal y ábralo nuevamente, luego intente extraer su imagen
Editar
También tuve este problema nuevamente, si la solución anterior no funciona, pruebe esta solución que es el siguiente comando
Consideraciones
Si el comando anterior funciona, probablemente tenga problemas con el acoplador de red, de todos modos esto lo resuelve, para confirmar eso, vea el registro con el comando a continuación
Si la salida tiene algo así
Realmente tiene problemas de red, sin embargo, aún no sé si la próxima vez que reinicie ( actualización , 2 meses sin problemas nuevamente) su sistema operativo volverá a tener este problema y si es un error o un problema de instalación
My docker version
fuente
Después de instalar Docker en Ubuntu, ejecuté el siguiente comando:
¿Lo has probado?
fuente
Yo tuve el mismo problema. He estado luchando durante dos días para resolverlo.
Solo funcionó cuando lo hice:
De acuerdo con el Tutorial de Docker , debe agregar la clave Docker si aún no se agregó usando:
$ sudo wget -qO- https://get.docker.com/gpg | sudo apt-key add -
Luego, asegúrese de otorgarse privilegios de docker a usted mismo usando:
$ sudo usermod -aG docker $USER
Espero que esto le ayude también.
fuente
sudo usermod -aG docker $USER
ingrese como root (
sudo su
) e intente esto:Tengo el mismo problema aquí, y el comando docker solo funcionó ejecutándose como root, y también con esto
DOCKER_HOST
vacíoPD: también ten en cuenta que la forma correcta y oficial de instalar en Ubuntu es usar sus repositorios apt (incluso en 15.10), no con esa cosa " wget ".
fuente
Para OSX :
Después de abrir Docker e iniciar la máquina 'predeterminada' a través de la Terminal de inicio rápido ( https://docs.docker.com/engine/installation/mac/ ), prueba los comandos de Docker y recibe este mensaje "no se puede conectar al Docker Daemon" , resulta que necesitas establecer algunas variables env :
eval "$(docker-machine env default)"
Luego pruébalo
docker run hello-world
para ver si todo es color de rosa.fuente
Para aquellos que ya intentaron reiniciar su máquina, desarmar la variable de entorno DOCKER_HOST como se indica en la documentación de docker env y todo lo demás solo intente ir con el
Solo esto me funcionó incluso después de reiniciar la máquina.
fuente
Dar acceso no root - desde ventana acoplable
Agregue el grupo acoplable si aún no existe.
Agregue el usuario conectado "$ {USER}" al grupo de acopladores.
Cambie el nombre de usuario para que coincida con su usuario preferido.
Puede que tenga que cerrar sesión y volver a iniciarla para que esto surta efecto.
Reinicia el demonio Docker.
fuente
Esta pregunta es actualmente el número 3 en una búsqueda de Google. Después de investigar un poco para resolver este problema en mi sistema Linux, pensé en escribir esta respuesta. La publicación original indica que el problema está en Ubuntu, pero también experimenté el problema usando Fedora. Con eso en mente, esto es lo que hice para solucionar el problema.
En Fedora 22
Instalación de Docker:
Después de instalar Docker:
Se debe agregar un usuario al grupo acoplable.
El Docker Daemon necesita ser iniciado
Puedes configurar el demonio para que comience en el arranque
Puede verificar que el servicio Docker se esté ejecutando
Y un último cheque final
fuente
dockerroot
. Además, probablemente desee instalarlo desde el repositorio (en lugar decurl ... | sh
) para que pueda actualizarse más tarde:dnf install docker
groupadd docker
y luego agregarlo a su nombre de usuariosudo usermod -aG docker your_username
Intente usar "sudo" con el comando que está ejecutando.
fuente
Tengo el mismo problema al ejecutar Docker.
puedes ejecutar comandos como sudo user:
fuente
Para Ubuntu:
sucedió conmigo cuando actualicé docker.
Debe desenmascarar el servicio y el socket y luego reiniciar el servicio.
Lo siguiente funcionó para mí:
Lo que sucedió detrás de escena
systemd también tiene la capacidad de marcar una unidad como completamente inestable, automática o manualmente, vinculándola a / dev / null. Esto se llama enmascarar la unidad y es posible con el comando de máscara.
Puede consultar la lista de servicios enmascarados utilizando:
Para habilitar el inicio automático / manual del servicio, debe desenmascararlo con:
Ahora el servicio se habilitará como se muestra a continuación
fuente
A medida que Docker se une a un socket Unix que es propiedad de root mientras se inicia, el uso de 'sudo' junto con los comandos de Docker funcionará.
fuente
fuente
Tal vez esto ayude a alguien, ya que el mensaje de error es extremadamente inútil, y he seguido todos los pasos de permiso estándar en numerosas ocasiones sin resultado.
Docker ocasionalmente deja variables de entorno fantasma en su lugar que bloquean el acceso, a pesar de que su sistema esté configurado correctamente. Los siguientes comandos de shell pueden hacer que sea accesible nuevamente, si lo ha ejecutado en un punto y simplemente dejó de cooperar después de un reinicio:
Tenía una instalación de Docker que funcionaba anteriormente, y después de reiniciar mi computadora portátil, simplemente se negó a funcionar. Fue añadido correctamente al grupo de usuarios estibador, tenía los permisos correctos en el zócalo, etc, pero todavía no podía correr
docker login
,docker run ...
etc. Esto fija para mí. Lamentablemente, tengo que ejecutar esto en cada reinicio. Esto se menciona en un par de problemas de github también como una solución alternativa, aunque parece un error que esta sea una barrera persistente para el correcto funcionamiento de Docker (nota: estoy en Arch Linux, no en OSX, pero este fue el mismo problema para yo).fuente
Probado en Ubuntu 16.04
fuente
Me he enfrentado al mismo error en la instancia de Amazon EC2. El problema se solucionó después de reiniciar la instancia.
fuente
Agregar usuario actual al grupo acoplable:
sudo usermod -aG docker $(whoami)
fuente
--
versiones largas (comenzando con ) de las opciones.Para Ubuntu 16.04
/lib/systemd/system/docker.service
Cambio de archivo interno :con:
/etc/init.d/docker
Cambio de archivo interno :con:
y luego reinicie su computadora.
fuente