No se puede conectar al demonio Docker en unix: /var/run/docker.sock. ¿Se está ejecutando el Docker Daemon?

172

He aplicado todas las soluciones disponibles en Internet, pero aún no puedo ejecutar Docker.

Quiero usar Scrapy Splash en mi servidor.

Aquí hay algunos historycomandos que ejecuté.

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

Puedes ver que intenté reiniciar mi servidor también, pero no ayudó.

ver salida de ps -aux | grep docker

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker
Umair Ayub
fuente
Si ejecuta ps aux | grep docker, ¿ves el proceso del demonio ejecutándose?
Rome_Leader
Posible duplicado: stackoverflow.com/questions/21871479/…
BMitch
@Rome_Leader ver el resultado en mi pregunta ...
Umair Ayub
3
intente lo siguiente: sudo servicio ventana acoplable reinicio
Haythem Rouis
2
puedes ver el estado de tu docker deamon usando esto: sudo service docker statusverifica si está activo
Haythem ROUIS

Respuestas:

161

Puedes probar esto:

systemctl start docker

Funcionó bien para mí.

PD: después si hay comandos que no puedes hacer sin sudo, prueba esto:

gpasswd -a $USER docker
H.Gmz
fuente
10
Al ejecutar el primer comando, recibí un error: Failed to start docker.service: Unit docker.service is masked.Entonces, tuve que ejecutar lo siguiente: systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Chris Phan
50

Puede obtener este error si la ventana acoplable no se cierra limpiamente. La siguiente respuesta es para el paquete Docker Snap.

Corre snap logs dockery busca lo siguiente:

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

Eliminar ese archivo y reiniciar Docker funcionó para mí.

rm /var/snap/docker/<your-version-number>/run/docker.pid
snap stop docker
snap start docker

Asegúrese de reemplazar <your-version-number>‍con el número de versión correspondiente.

niklas
fuente
¿Cómo puedo evitar que esto suceda? ¡Cada vez que enciendo mi PC, tengo que eliminar docker.pid!
Hamidreza
47

Solo corre

sudo dockerd

dockerd es el servicio de daemon para los contenedores de docker, ya que no se ejecuta en segundo plano, no podemos realizar ninguna acción relacionada con el servicio, que debe reiniciarse.

Yash Pokar
fuente
10
Este es el único comando que funciona para mí. Creo que es ridículo que uno tenga que saltar tantos aros para poner a Docker en funcionamiento.
Homunculus Reticulli
3
Me da un errorError starting daemon: Devices cgroup isn't mounted
Vineet 'DEVIN' Dev
@fepegar Posiblemente no tengas la ventana acoplada instalada correctamente
Yash Pokar
@YashPokar de hecho, terminé reinstalando y ahora las cosas funcionan como se esperaba. Gracias.
fepegar
El único comando que funciona para mí dentro de un contenedor acoplable para iniciar un contenedor acoplable. Lo necesito para codebuild, para crear mi propio entorno mientras construyo. :-)
Somos Borg el
21

Primero, intente con sudo , ya que el usuario actual puede no tener permisos de acceso para comunicarse con Docker Daemon, es decir, /var/run/docker.sock

Si todavía no funciona, entonces, después de la instalación, simplemente detenga el demonio docker como,

$ sudo service docker stop

Y ejecuta el siguiente comando para iniciar el demonio en segundo plano,

$ sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Para facilitar el trabajo con Docker, debe agregar su nombre de usuario al grupo de usuarios de Docker. Agregar un usuario al grupo se puede hacer con el siguiente comando

$ sudo usermod -aG docker $USER

Además, este paso se menciona en la documentación oficial de los pasos posteriores a la instalación de Docker para Linux ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )

Los usuarios de Ubuntu 16.04 pueden seguir estos pasos,

Archivo interno /lib/systemd/system/docker.service change: ExecStart = / usr / bin / dockerd fd: // with ExecStart = / usr / bin / dockerd -H tcp: //0.0.0.0: 2375

Archivo interno /etc/init.d/docker change:

DOCKER_OPTS = con DOCKER_OPTS = "- H **** tcp: //0.0.0.0: 2375 "

y luego reinicie su máquina. Y comienza a jugar con Docker.

mohan08p
fuente
1
correr sudo nohup docker daemon -H http://tcp://0.0.0.0:2375 () -H http://unix:///var/run/docker.sockda bash: syntax error near unexpected token (''
Umair Ayub
1
Estoy ejecutando redhat linux
Umair Ayub
Oh, lo siento. Caracteres adicionales (), actualizados. ¿Qué versión de RHEL? Simplemente verifique qué valor obtiene con $ DOCKER_HOST?
mohan08p
$ sudo systemctl enable docker para iniciar el servicio de docker en el momento del arranque.
mohan08p
Ahora estoy tratando de instalar Docker en CentOS Linux release 7.3.1611 (Core)... Pero ahora el error es Your Linux kernel version 2.6.32-042stab116.2 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.... ¿puedo actualizar el kernel usando yum update kernel... ???? la pregunta es, ¿eliminará todo en mi servidor? es un servidor en vivo con un sitio web en ejecución, no quiero estropearlo.
Umair Ayub
9

Esto suele suceder si probablemente no ha detenido la ventana acoplable.

Resolver

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

luego "docker run ...." para descargar su imagen e iniciar el contenedor como siempre

Anigbo inocente
fuente
8

Acabo de golpear esto después de hacer una nueva instalación de DOCKER desde los documentos principales. El problema para mí fue que inmediatamente después de la instalación, el servicio no se está ejecutando.

Estos comandos lo ayudarán a asegurarse de que Docker esté en funcionamiento para que su comando de ejecución lo encuentre:

$ sudo service --status-all 
$ sudo service docker start
$ sudo service docker start
Paul McDaniel
fuente
7

Estoy corriendo en la raíz y probé a continuación, funcionó:

service docker start

export DOCKER_HOST="tcp://0.0.0.0:2375"
usuario11500628
fuente
3
Si esto funciona en su host, entonces efectivamente no tiene contraseña de root. Cualquier persona con acceso a ese puerto puede ejecutar comandos como root en su host.
BMitch
6

Tuve este problema después de cerrar Docker tirando de un contenedor docker pull mongo. Al principio recibía errores extraños, así que purgué el docker sudo apt-get purge docker.ioy lo reinstalé sudo apt-get install docker.io... todo esto no hizo nada. Ni siquiera podía ejecutar el contenedor hello-world. La solución correcta para mí al menos fue:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

Después de esto pude sacar a Mongo y correr hola mundo.

¡Salud!

Jonathan Saylor
fuente
Tuve que hacerlo con Sudo en un Ubuntu 18.04
Basanth
4

Aquí está la solución que funciona para mí en Linux

systemctl start docker.

Mohammad Heydari
fuente
2

use esto en ubuntu export DOCKER_HOST = tcp: // localhost: 2375

Yash Keshri
fuente
Si esto funciona en su sistema, entonces efectivamente no tiene contraseña de root. Cualquier persona con acceso a ese puerto puede ejecutar comandos como root en el host.
BMitch
2

export DOCKER_HOST = tcp: // localhost: 2375 es perfecto para cualquier persona que no tenga acceso a sudo y el usuario no tenga acceso a unix: ///var/run/docker.sock

Mantas Marma
fuente
Esto también es útil para cualquier persona que normalmente no tiene acceso a la raíz, pero le gustaría convertirse fácilmente en la raíz de su host. Cualquier persona con acceso a ese puerto puede ejecutar comandos como root.
BMitch
@BMitch cuidado de elaborar?
Fran Marzoa
@FranMarzoa de otro usuario en el que no confía, o incluso de otro host, puede ejecutar cualquier docker runcomando con el usuario raíz dentro del contenedor, privilegiado, con espacios de nombres de host en pid y red, y montando el sistema de archivos raíz.
BMitch
2

Estaba tratando de ejecutar Docker (recién instalado) en una instancia de AWS cuando aparece el mensaje. Solo escribosudo service docker start y funciona bien para mí.

Ver también AWS con Docker

dmarquina
fuente
2

ingrese la descripción de la imagen aquí

Simplemente olvido ejecutar Docker Desktop en mi Mac, después de ejecutar Docker Desktop, estará listo.

Ping Woo
fuente
2

Esta excepción se produce cuando el servicio de Docker no se está ejecutando o el usuario conectado no tiene permiso para acceder a Docker y, en general, viene en RedHat

El uso del siguiente comando debería resolver el problema

inicio de sudo service docker

ingrese la descripción de la imagen aquí

Sumit Arora
fuente
2

A mí me funcionó:

sudo systemctl unmask docker
sudo systemctl start docker
Md. Rakibul Islam
fuente
trabajó para mi. Gracias.
ncesar hace
1

Tuve el mismo problema para el nodo de ejecución de gitlab CI: lts image:

  • Acabo de reiniciar el Docker Daemon y reinicio el contenedor, funcionó para mí.
akshaymittal143
fuente
1

Esto funcionó para mí, podría funcionar para usted si está usando Ubuntu 16 o 18 (14 también puede funcionar). Fácil de probar:

Vaya a Software de Ubuntu, escriba Docker. Desinstale la ventana acoplable (108 mb) si está preinstalada allí. Instalar docker Ahora ejecute los comandos y vea si se produce el mismo error

El error:

ingrese la descripción de la imagen aquí

Después de hacer los pasos anteriores. ingrese la descripción de la imagen aquí

Como puedes ver, funcionó :)

Ashish Gupta
fuente
1

Enfrenté el mismo problema en Linux cuando instalé docker usando yum (yum install docker).

Resolución: descargue el binario de Docker desde el sitio oficial: instale Docker , desempaquete y siga los pasos de instalación.

Denys
fuente
1

Ninguna de las respuestas actuales funcionó para mi versión de este error. Estoy usando la versión de escritorio de Ubuntu 18. Los siguientes dos comandos solucionaron el problema.

sudo snap connect docker:home :home

sudo snap start docker

Eric
fuente
0

Para mí, la solución era simplemente asegurarme de que había instalado el paquete Docker correcto. Por ejemplo, para Ubuntu los paquetes depreciados son:

  • estibador
  • motor acoplable
  • docker.io
  • contenedor
  • runc

Para la instalación, consulte https://docs.docker.com . Se proporcionan instrucciones para Ubuntu , CentOS , Debian y Fedora en el momento de la escritura.

RikH
fuente
Te perdiste algunos pasos: sigue este enlace para firmar el repositorio. medium.com/@sebagomez/…
Robert
@Robert, arriba también me refiero al docs.docker oficial para obtener la clave PGP. Esto es más seguro que los usuarios que lo copian de este sitio o medio.
RikH
Intenté los pasos de ubuntu y esos no funcionan. Necesito el proceso de firma y el enlace que proporcioné.
Robert
@Robert, gracias, he eliminado mis instrucciones incompletas y, en cambio, solo consulte la documentación oficial.
RikH
0

Asegúrese de que la información en esta ruta /etc/docker/daemon.json

{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

Eliminar

"insecure-registries": [
    "192.168.199.100:5000"
]

y funciona bien ingrese la descripción de la imagen aquí

chao chen
fuente
0

Podría estar relacionado con la falta de espacio en disco en el disco duro. Asegúrese de que le quede espacio en el dispositivo, Docker no puede iniciarse si no queda espacio.

K - La toxicidad en SO está creciendo.
fuente
0

Utilizar docker start <your_container_name>

Luego, conéctese a la base de datos utilizando mssql -u <yourUsername> -p <yourPassword>

Si obtiene un error en el primer paso, la ventana acoplable se está ejecutando y siga con el segundo paso.

Nota: Yo uso Mac como mi sistema operativo principal y esta podría ser la misma respuesta para sistemas operativos basados ​​en Unix. ¡Si no! Lo siento de antemano.

Pavankumar AN
fuente
0

También recibí el siguiente mensaje de error, después de instalar el docker y ejecutar: docker run hello-world

No se puede conectar al demonio Docker en unix: /var/run/docker.sock. ¿Se está ejecutando el Docker Daemon?

Aquí hay una solución, lo que funcionó para mí. Entorno - Windows 10 (No olvide habilitar en Windows: Configuración> Actualización y seguridad> Modo desarrollador) - Ubuntu 18.04 LTS - Docker Desktop versión 2.3.0.2 (45183) - Habilitar en Docker Desktop: Exponer daemon en tcp: // localhost: 2375 sin TLS: Docker Desktop también debe estar ejecutándose (conectado a Docker Hub ... solo inicie sesión)

Después de instalar ubuntu, actualice el repositorio

sudo apt-get update

Para usar un repositorio sobre HTTPS

sudo apt-get install \ apt-transport-https \ ca-certificados \ curl \ gnupg-agent \ software-properties-common

Agregue la clave oficial Docker GPG:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Asegúrese de tener ahora la clave con la huella digital

huella digital sudo apt-key 0EBFCD88

Actualiza el repositorio

sudo apt-get update

Actualice el repositorio de Docker

sudo add-apt-repository \ "deb [arch = amd64] https://download.docker.com/linux/ubuntu \ $ (lsb_release -cs) \ stable"

Actualice el repositorio nuevamente

sudo apt-get update

Comando para instalar la ventana acoplable en la versión: 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo apt-get install docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic containerd.io

Comando para configurar el DOCKER_HOST

export DOCKER_HOST = "tcp: //0.0.0.0: 2375"

Nota: coloque el comando anterior en su perfil para comenzar con el ubunto ex: echo "export DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc

Agregar usuario al grupo acoplable

sudo usermod -aG docker $ USER

Reiniciar ubuntu

(Cierre y abra la ventana de ubuntu nuevamente)

Probar la instalación (NO use más sudo antes de los comandos de docker (dará un error), el usuario "root" ya se ha incluido en el grupo de docker)

docker run hello-world

Se debe mostrar el siguiente mensaje

Hola de Docker! Este mensaje muestra que su instalación parece estar funcionando correctamente.

Nota: si falla, ejecute el comando nuevamente: export DOCKER_HOST = "tcp: //0.0.0.0: 2375"

export DOCKER_HOST = "tcp: //0.0.0.0: 2375"

Referencia: https://docs.docker.com/engine/install/ubuntu/ Sesión: INSTALAR EL MOTOR DOCKER

Para otras versiones de la ventana acoplable que se pueden instalar con ubuntu, consulte el repositorio con el siguiente comando:

apt-cache madison docker-ce

Luego instale la versión deseada de la ventana acoplable:

sudo apt-get install docker-ce = docker-ce-cli = containerd.io

ukaliko
fuente
0

Para todos los que tienen problemas con Docker en el momento de la instalación.

Un error que apunta a una falla en el servicio acoplable, realice los comandos a continuación.

$ sudo apt update

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

$ sudo apt update

$ apt-cache policy docker-ce

$ sudo apt install docker-ce
Hisham Javed
fuente
-1

Este problema se puede resolver permanentemente ejecutando 1. systemctl enable docker 2. service docker start

JV Reddy
fuente
Parece que necesito iniciar el servicio Docker service start dockercada vez que reinicio la computadora.
Pran Kumar Sarkar
@PranKumarSarkar No si ejecutas "sudo systemctl enable docker"
GabrielBB