linux - tutorial - No se puede conectar al demonio Docker en unix:/var/run/docker.sock. ¿Se está ejecutando el Docker Daemon?
dockerfile ejemplos (17)
Aquí está la solución que funciona para mí en Linux
systemctl start docker
.
He aplicado todas las soluciones disponibles en Internet, pero aún no puedo ejecutar Docker.
Quiero usar Scrapy Splash en mi servidor.
Aquí está la
history
de los comandos 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
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
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í
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 , descomprímalo y siga los pasos de instalación.
Este problema puede resolverse permanentemente ejecutando 1. systemctl enable docker 2. service docker start
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:
Después de hacer los pasos anteriores.
Como puedes ver, funcionó :)
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
Estoy corriendo en la raíz y probé a continuación, funcionó:
service docker start
export DOCKER_HOST="tcp://0.0.0.0:2375"
Intenté ejecutar Docker (recién instalado) en una instancia de AWS cuando aparece el mensaje.
Acabo de escribir
sudo service docker start
y funciona bien para mí.
Ver también AWS con Docker
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.
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 nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
Y ejecuta el siguiente comando para iniciar el demonio en segundo plano,
$ sudo usermod -aG docker
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 comando debajo agregando su nombre de usuario al final
sudo dockerd
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.
Puede obtener este error si la ventana acoplable no se cierra limpiamente. La siguiente respuesta es para el paquete Docker Snap.
Ejecute el
snap logs docker
y busque 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/179/run/docker.pid
snap stop docker
snap start docker
Asegúrese de reemplazar ''179'' con el número de versión apropiado
Puedes probar esto:
systemctl start docker
Funcionó bien para mí.
Ps: después si hay comandos que no puedes hacer sin sudo, prueba esto:
gpasswd -a $USER docker
Solo corre
$ sudo service docker stop
y estarás listo para ir.
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í.
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é docker
sudo apt-get purge docker.io
y 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, podría tirar de mongo y correr hola mundo.
¡Salud!
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
use esto en ubuntu export DOCKER_HOST = tcp: // localhost: 2375