Compose: ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando?

Creado en 24 nov. 2016  ·  204Comentarios  ·  Fuente: docker/compose

Sé que hay otro problema del mismo tipo pero el otro problema está cerrado y probé todas las soluciones propuestas pero sin ningún efecto.

sigue sin funcionar:

matteo<strong i="8">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo docker -v
Docker version 1.12.3, build 6b644ec
matteo<strong i="9">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
matteo<strong i="10">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo service docker start
start: Job is already running: docker
matteo<strong i="11">@ubuntuDockerMB</strong>:~/wordpress-docker$ echo $DOCKER_HOST

matteo<strong i="12">@ubuntuDockerMB</strong>:~/wordpress-docker$ DOCKER_HOST=127.0.0.1
matteo<strong i="13">@ubuntuDockerMB</strong>:~/wordpress-docker$ echo $DOCKER_HOST
127.0.0.1
matteo<strong i="14">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
matteo<strong i="15">@ubuntuDockerMB</strong>:~/wordpress-docker$ unset DOCKER_HOST
matteo<strong i="16">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
matteo<strong i="17">@ubuntuDockerMB</strong>:~/wordpress-docker$ groups matteo
matteo : matteo adm cdrom sudo dip plugdev sambashare lpadmin docker

  • Soy parte del grupo de docker

  • También estoy usando sudo

  • El proceso ha terminado

  • La variable DOCKER_HOST no está configurada o 127.0.0.1

  • Reconectado al usuario

  • Reinició el servidor

Creo que he probado todas las configuraciones posibles, ¿verdad?


Especificaciones:

  • SO: Ubuntu 14.04.04 en Virtualbox en Windows 10 Home.

  • Docker versión 1.12.3, compilación 6b644ec


¡Gracias!

kinquestion

Comentario más útil

¿Lo has probado sin sudo ? No debería necesitarlo y podría arruinar las cosas en su caso. Además, ¿qué ves cuando ejecutas docker info ?

Todos 204 comentarios

¿Lo has probado sin sudo ? No debería necesitarlo y podría arruinar las cosas en su caso. Además, ¿qué ves cuando ejecutas docker info ?

Intente ejecutar dockerd o sudo dockerd si es necesario primero para iniciar el demonio. Si comienza dockerd con sudo es posible que desee ejecutar docker-compose up con sudo también. de lo contrario, está bien.

@ shin- ¡Hola! Ya lo hice con sudo y también usando root ( sudo su ).

matteo<strong i="7">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

aquí está la operación realizada como root

root<strong i="11">@ubuntuDockerMB</strong>:/home/matteo/wordpress-docker# docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
root<strong i="12">@ubuntuDockerMB</strong>:/home/matteo/wordpress-docker#

este es el resultado de docker info

root<strong i="17">@ubuntuDockerMB</strong>:/home/matteo/wordpress-docker# docker info
An error occurred trying to connect: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info: read unix @->/var/run/docker.sock: read: connection reset by peer

@harshajayaweeraXHJ

dockerd no funciona pero sudo service docker start funciona como se esperaba

matteo<strong i="25">@ubuntuDockerMB</strong>:~/wordpress-docker$ sudo dockerd
INFO[0000] libcontainerd: new containerd process, pid: 4039
WARN[0000] containerd: low RLIMIT_NOFILE changing to max  current=1024 max=4096
INFO[0001] [graphdriver] using prior storage driver "aufs"
FATA[0001] Error starting daemon: layer does not exist

PD:

@ shin- & @harshajayaweeraXHJ Perdón por llegar tarde

Necesita exportar la variable para que esté disponible en procesos secundarios:

$ export DOCKER_HOST=127.0.0.1

Aunque esto no resuelve completamente su problema ...

Me encontré con este error porque ignoré tontamente los requisitos previos de ubuntu.

gracias @jamethy , lo hice bien y lo entiendo

matteo<strong i="7">@ubuntuDockerMB</strong>:~/wordpress-docker-tut$ docker-compose up -d
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose/cli/main.py", line 65, in main
  File "compose/cli/main.py", line 114, in perform_command
  File "compose/cli/command.py", line 36, in project_from_options
  File "compose/cli/command.py", line 111, in get_project
  File "compose/cli/command.py", line 83, in get_client
  File "compose/cli/docker_client.py", line 74, in docker_client
  File "site-packages/docker/client.py", line 59, in __init__
  File "site-packages/docker/utils/utils.py", line 438, in parse_host
docker.errors.DockerException: Bind address needs a port: 127.0.0.1
docker-compose returned -1

Tengo el mismo problema ahora, también intentando instalar Wordpress en la ventana acoplable. Intenté todo, pero todavía no puedo conectarme. El daemon de Docker no se está ejecutando ... Lo intentaré de nuevo

para mi el problema se queda ahí:

Bind address needs a port: 127.0.0.1

pero este número debe ser creado por la propia ventana acoplable

Tengo el mismo problema que el póster original y he intentado todas las cosas sugeridas anteriormente.

Parece que a veces la ventana acoplable "muere" y no se está ejecutando, y en otras ocasiones permanece ejecutándose. Me di cuenta de esto mientras intentaba ejecutar el comando docker info y obtenía un error sobre la ventana acoplable que no se ejecutaba. Usar service docker start me permitió ejecutar el comando info. Esto es lo que conseguí:

Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 1.12.5
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 3
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host bridge overlay null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-45-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 31.42 GiB
Name: ayn
ID: 7TGC:G5WQ:6IYF:XWMH:XF3N:VXU7:SLZB:IHRN:T4FL:D35I:5JUA:H4S5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
127.0.0.0/8

@ matteo-bombelli Este error es bastante claro, necesita especificar un puerto. En su lugar, haz export DOCKER_HOST=127.0.0.1:2375 .

@ matteo-bombelli
Tuve el mismo problema.
Necesitas reiniciar Docker.
$ service docker restart
Lo resolví con esto.

¿Alguien puede consolidar la solución a este problema en pasos?

Hola. Apoyo este último comentario, estoy teniendo el mismo problema.

Tengo el mismo problema.

docker ps funciona.

docker-compose build (con la versión 2) funciona!

docker-compose build (con la versión 3) da este error: /

@furkanmustafa @ shashijais789 @lalitkumarj Sería mejor si -D .

el mismo problema. funciona con la versión 2, obtengo este error con la configuración de la versión 3.

los siguientes pasos me solucionaron el problema.

eliminar ventana acoplable:
$ sudo apt-get remove docker docker-engine
reinstalar con
curl -sSL https://get.docker.com/ | sh

agregar usuario a un grupo:
sudo usermod -aG docker user

Tal vez este error se pueda mostrar si una de las imágenes no se puede compilar por cualquier motivo, que no necesariamente tiene que ver con el demonio docker. Por ejemplo, me las arreglé para depurar esto intentando construir cada servicio usando Docker.

Mi archivo docker-compose.yml contiene:

version: '2'

services:
  # Drupal server
  drupal:
    build:
      context: .
      dockerfile: "Dockerfile-drupal"
  mysql:
    ...

Llamar a docker-compose build da como resultado:

Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

Así que intenté usar Docker para compilar cada archivo individualmente:

docker build -f="Dockerfile-drupal" .

Esto me dio un error más útil:

Error checking context: 'no permission to read from some/data/directory'

Arreglar ese error y asegurarme de que puedo compilar Dockerfile-drupal resultó en que docker-compose build funcionara bien.

Quizás el código que genera el error podría cambiarse a algo como:

Couldn't build the services.

 * Make sure you can build your Docker images using "docker build ...".
 * Make sure the Docker daemon is running.
 * If the Docker daemon is at a non-standard location, specify the URL with the DOCKER_HOST environment variable. Currently using http+docker://localunixsocket.

Necesitaba todo:
1) apt-get eliminar y reinstalar usando curl como sugiere Kirill-Babkin (y reiniciar socker para estar seguro)
2) agregue un usuario al grupo de docker usando usermod -aG, cierre de sesión e inicie sesión
3) indefinir DOCKER_HOST (como lo sugiere rkazak en https://forums.docker.com/t/docker-commands-require-sudo/12987/2) que había configurado anteriormente usando> export DOCKER_HOST = 127.0.0.1: 2375 como sugerido por jamethy y shin
Esto fue en un RPi 3B. Después de todo esto, Docker ahora está funcionando. ¿Hay alguna posibilidad de que esto se pueda limpiar para que otros no tengan que pasar por esta dolorosa experiencia, ya que son experiencias como las que esta ventana acoplable está diseñada para solucionar? Sólo una sugerencia.

En mi caso, el proxy LAN (que se define en Opciones de Internet, estoy en Windows) había impedido que docker-compose conectara a la VM (con el motor de la ventana acoplable) en VirtualBox Host-Only Network ; la desactivación del proxy ha resuelto un problema.

En Ubuntu 16.04 esto funcionó para mí:
sudo service docker start && docker-compose up -d

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar! : nerd_face:

@ ssi-anik eso es ciencias de la computación 😄

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .

Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Esto estaba fallando en un cierto paso de compilación para mí, intenté ejecutar docker build . en el mismo directorio que Dockerfile y descubrí que uno de los archivos que estaba tratando de COPY tenía problemas de permisos.

Ejecutar sudo chmod 755 -R . solucionó mi problema.

Como lo menciona @ChrisPappalardo en
https://github.com/docker/compose/issues/1214
compruebe los permisos de propiedad de archivos dentro de sus directorios de compilación. Como el proceso de construcción del contenedor se realiza en el contexto del usuario actual, tener un directorio inaccesible dentro del árbol propiedad de root puede generar un error que resulte en este mensaje.

En mi caso, la solución de @ alberto56 funcionó perfectamente, fue un problema de permisos con uno de los volúmenes que se montó en uno de mis servicios. No estoy seguro de cómo se cambió la propiedad en primer lugar, pero hacer el manual docker build -f myDockerfile . me ayudó a encontrar mi problema.

Cuando hice un ls -l el directorio era propiedad de 999 y docker group, la parte extraña es que ni siquiera era para la imagen que estaba tratando de construir, era un servicio aparte.

Me encontré con este error porque monté un volumen así, mientras depuraba, y olvidé limpiar.
volúmenes:
- ./itsLog:/var/log/itsLog

cuando intenté construir el Dockerfile, debió haber recibido un "permiso denegado" mientras intentaba AGREGAR la ruta restringida.

La descripción del error es algo engañosa, pero por lo demás tiene sentido.

Acabo de cambiar el propietario del archivo /var/run/docker.sock al usuario actual, y está bien.
Parece que docker-compose no tenía permiso para acceder a /var/run/docker.sock.

La descripción del error es algo engañosa

Dado que ya es tan poco informativo, ¿por qué no comprometerse realmente con él y simplemente imprimir "No"? / s

En mi caso, tuve que revisar syslog para ver que el demonio Docker rechazó la especificación de compilación porque había letras mayúsculas en la cadena de etiquetas.

Este mensaje de error es una declaración general y probablemente debería documentarse (en lugar de dispersarse en Stack Overflow y problemas de github de proyectos no relacionados) o expandirse.

El comentario de @ alberto56 me ayudó. Tuve el mismo problema. ¡Gracias!
El contenedor anterior que había "volumizado" había creado archivos Python compilados; *.pyc . Esos no eran accesibles para mi usuario.
Problema y solución copiada desde arriba:

Llamar a la compilación de docker-compose da como resultado:
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

Llame a Docker directamente:
docker build .

Lo que revela la verdadera causa:
Error checking context: 'no permission to read from '/home/user/dev/project/app/utils.pyc''.

Los permisos de archivo fueron:
-rw-r----- 1 root root 11K Nov 29 16:32 utils.pyc
Y la solución fue eliminar esos archivos:
sudo rm app/*.pyc

Hola chicos,

Después de actualizar a la versión 17.12 de la ventana acoplable y comencé el servicio de la ventana acoplable, resolvió mi problema.

[] # inicio de la ventana acoplable de servicio
13 Redirigiendo a / bin / systemctl start docker.service
# sudo docker-compose up -d

Necesitamos actualizar la versión de la ventana acoplable y luego componer funcionará.

Saludos,
Prasad RVS

service docker start
Redirigiendo a / bin / systemctl start docker.service
[ root @ kammu02-I9084 LDDS] # sudo docker-compose up -d
Creación de red "ldds_default" con el controlador predeterminado
Creando el volumen "ldds_couch-data" con el controlador predeterminado
Tirando de couchdb (isl-dsdc.ca.com:5000/analytics/lddscouchdb:2.1.8c.109) ...
2.1.8c.109: Extracción de analytics / lddscouchdb
dd6405a9d644: Tire completo
10f659fc3a7e: Tire completo
8a0ce719aeb8: Tire completo
fc23f8fbeac2: Extracción completa
5f02dd664e80: Extracción completa
f38b89a75914: Extracción completa
94add1a2ec1e: Extracción completa
e7db1a0942ee: extracción completa
87b0136db4b9: Extracción completa
be9ceeef7cb5: Extracción completa
aed07b38ec55: Pull complete
fc4632d89301: Tire completo
6152a07afebb: tirar completo
946862fd0151: Tire completo
43408ca5f730: Tire completo
Resumen: sha256: d3c13f08a4c9c3ed450325aef2dbe97abf0a55c13e9e2005109c05c713491fb3
Estado: Descargó una imagen más reciente para isl-dsdc.ca. com: 5000 / analytics / lddscouchdb : 2.1.8c.109
Tirando de ldds-web (isl-dsdc.ca.com:5000/analytics/lddscdb:2.1.8c.109) ...
2.1.8c.109: Extracción de analytics / lddscdb
dd6405a9d644: Ya existe
10f659fc3a7e: Ya existe
8a0ce719aeb8: Ya existe
eebc892936a1: Tire completo
3c8dd6086ddb: extracción completa
73c1dfebea61: Tire completo
9fb23fd0d390: Tire completo
f8943ba49c47: Extracción completa
a89ff5b6e340: Pull complete
02615a9d0e05: Extracción completa
e129088bf324: Extracción completa
bf0ba8d71b09: Extracción completa
083300d85e61: Extracción completa
5deacfd6cb23: Tire completo
220cda5539ae: tirar completo
8cdee22c663b: Tire completo
d76b24524469: Extracción completa
9c5ade36643f: tirar completo
c7ca782f404c: Extracción completa
6a7bbcfb0b95: Extracción completa
Resumen: sha256: e2cb43e6b22ab344d7fc17f38e49caa3e295ef0efdfa43bc77ce671e0f172168
Creando ldds_couchdb_1 ... hecho
Creando ldds_couchdb_1 ...
Creando ldds_ldds-web_1 ... hecho

Encontré el siguiente error,
"No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando?"

Verifique si es un problema de permiso, ejecute "sudo docker ps" se ejecuta sin este error y "docker ps" se ejecuta con este error, luego el problema de permiso.

Pruebe estos pasos posteriores a la instalación de la ventana acoplable. Es posible que deba agregar el "usuario" al grupo de la ventana acoplable.
https://docs.docker.com/engine/installation/linux/linux-postinstall/

Esto funcionó para mí.

Hola a todos, esto también sucede en mi máquina. Lo que es extraño es que no hice cambios ni actualizaciones y simplemente comenzó a suceder.

@manjukori, esto me sucede a mí aunque estoy en el grupo docker , ¡pero ejecutar el mismo comando en sudo funciona! Entonces, por un lado, parece que tienes razón en que se trata de una especie de problema de permisos, sin embargo, ¡ soy miembro del grupo docker ! Tan raro...

¡Ok, todos encontraron el problema! En mi caso, estoy usando docker-compose que monta un directorio de root en uno de los contenedores. Por alguna razón, eso impidió que docker-compose (que ejecuta docker build ) se iniciara.

Tan pronto como eliminé este directorio, todo funciona como antes (aunque no estoy seguro de por qué funcionó antes).

Es posible que también desee verificar algo similar en su extremo.

chmod 777 es

Su usuario debe estar en el grupo "docker" para ejecutar docker-compose sin sudo. Simplemente agregue este grupo a su cuenta, cierre la sesión y vuelva a iniciarla. Se solucionó este problema en Ubuntu y Mac OS.

@jhnoor gracias! Funcionó para mi
sudo chmod 755 -R .

Me gustaría reiterar uno de los comentarios más útiles sobre el otro tema que decía que docker-compose --verbose up[|build] lo ayudará a llegar al fondo de su problema. En mi caso, el mensaje de error de docker-compose era engañoso: solo necesitaba actualizar de docker 1.10 (antiguo) a 1.12.

La verbosidad reveló esto:
docker.errors.APIError: 400 Error de cliente: Solicitud incorrecta ("el cliente es más nuevo que el servidor (versión de la API del cliente: 1.24, versión de la API del servidor: 1.22)")

En mi caso, solo un comando fue suficiente para solucionar el problema: sudo usermod -aG docker $USER (cuando $ USER es su usuario que ha iniciado sesión actualmente). Con esto, obtuve una ejecución exitosa de docker-compose run ... sin sudo de $USER shell de usuario. (Gracias, @ Kirill-Babkin: pastel :).

  • Ubuntu 16.04.3 (nueva instancia súper limpia en AWS)
  • Docker 17.12.1-ce (instalado sobre apt, seguido de Get Docker CE para Ubuntu )

Las respuestas correctas son de @manjukori y @yoloseem; Lo único que me gustaría enfatizar es usar la variable env $ USER para generalizar la instrucción sudo usermod -aG docker $USER (asumiendo que está conectado al shell como el usuario que necesita administrar la ventana acoplable). Para obtener otros detalles importantes sobre la configuración de Docker, consulte el enlace que se publicó arriba https://docs.docker.com/install/linux/linux-postinstall/.

@ ramblinwreck35 Editó mi comentario como usted señaló. : +1:

Para mí, mi usuario no era miembro del grupo de Docker. Resolver...
sudo usermod -aG docker ${USER}
Luego, cierre la sesión y vuelva a iniciarla, o sudo su - ${USER} para recibir la configuración actualizada en su terminal

systemctl restart docker
resuelvelo

Esto se debe al permiso incluso después de agregar su usuario en el grupo de la ventana acoplable. reiniciar el grupo o recargar el permiso.

Usé sudo. problema resuelto.

No estoy completamente seguro de si mi problema era el mismo, pero publico mi solución aquí en caso de que alguien más tenga el mismo problema y se encuentre con este hilo.

En mi caso, olvidé agregar algunos directorios al .dockerignore . Supongo que eran demasiados datos para el demonio de la ventana acoplable, porque funcionó después de excluir algunos directorios de datos.

@harwood y yo estábamos investigando este problema en nuestro repositorio y vimos que en realidad se debe a un nombre de imagen de la ventana acoplable con formato incorrecto que se establece en image ; teníamos una imagen con una letra mayúscula. También suministramos build: ./ . Cuando eliminamos build: ./ , vimos un nuevo mensaje de error: invalid reference format: repository name must be lowercase . Espero que esto ayude a cualquiera a rastrear este problema.

Hola,

Mi problema se resolvió con los siguientes pasos:

  1. Detener el servicio de Docker
  2. Agregue el usuario que está utilizando para ejecutar el comando docker-compose al grupo de docker con el siguiente comando: usermod -aG docker NAME_OF_USER (CentOS 7)
  3. Iniciar el servicio de Docker

¿Tiene una configuración de servicios de base de datos como esta?

`` volúmenes:
- ./db/data:/var/lib/mysql


When i input `docker-compose build` with db server ,I got this error. 
So, I input `sudo chown -R $USER:$USER /db/data` in order to got data permission.And I tried "docker-compose build" without the error.

docker-compose.yml

versión: '3'
servicios:
db:
construir:
./db
comando: mysqld --default-authentication-plugin = mysql_native_password
puertos:
- "3306: 3306"
volúmenes:
- ./db/data:/var/lib/mysql
env_file:
- mysql.env
privilegiado: verdadero
''

Reiniciar Docker también funcionó para mí.

Lo resolví cambiando el propietario de root a mí a /var/run/docker.sock . No sé por qué el paquete apt se instala como root.

$ sudo show derp:derp /var/run/docker.sock

Me encontré con un problema similar hace un momento, me tomó unas horas descubrir la causa.

La historia es la siguiente: usamos Jenkins para CI y ejecuta pruebas para nuestro servicio principal con docker-compose, ya que depende de algunos otros servicios. Un compañero de trabajo presionó un brach y Jenkins simplemente no pudo construirlo sin importar qué, aunque el código y las pruebas estaban perfectamente bien. El problema parecía ser el siguiente:

  • Jenkins crea una carpeta para cada canalización y acorta su nombre a cierta longitud. Forma un nombre de carpeta como "$GIT_BRANCH-$RANDOMISH_HASH" y lo curioso es que trunca la cadena desde el principio.
  • El nombre de la rama que falla contenía guiones ( - ), y el nombre de directorio resultante generado por Jenkins terminó comenzando con - .
  • Entonces Jenkins ejecutaría docker-compose en esa carpeta y, de forma predeterminada, docker-compose usa el nombre del directorio como prefijo para nombrar los contenedores.
  • Esto significa que intenta crear contenedores con nombres que comienzan con un guión ( - ) y, para empezar, parece ser un carácter ilegal para el nombre de un contenedor acoplable.
  • Y luego docker-compose falla con un error genérico con un engañoso "No se pudo conectar al demonio de Docker, ¿se está ejecutando?" mensaje.

La solución en mi caso fue especificar un nombre de proyecto personalizado ( -p ) que se usaría en lugar del nombre de directorio predeterminado:

docker-compose -f docker-compose.ci.yml -p "$SANITIZED_GIT_BRANCH" build

@ alberto56 Trabajo fijo:

chown -R user:user .

Además, actualice su .dockerignore si hay algo que se supone que no debe enviarse a la ventana acoplable para compilar.

prueba esto agregar sudo eso es todo

sudo docker-compose up

la solución para mí es agregar mi usuario al grupo de docker, gracias que no debe usar sudo cuando usa docker
https://techoverflow.net/2017/03/01/solving-docker-permission-denied- while-trying-to-connect-to-the-docker-daemon-socket/

En mi caso, si el usuario no tiene permisos para /var/run/docker.sock docker-compose, intente conectarse a http+docker://localhost .
sudo usermod -a -G docker $USER puede arreglar eso.

en este punto https://github.com/docker/compose/issues/4181#issuecomment -317120015
reiniciar la PC solucionará este problema

CentOS
Tengo que decir que lo resolví desconectando y volviendo a conectarme al servidor ...

tl; dr detén los comentarios innecesarios
Chicos Creo que reiniciar no debería ser parte de NINGÚN problema en GitHub. Por favor. Nos distrae de lo que estamos haciendo mediante notificaciones no útiles. Tenga en cuenta que comentar aquí tiene la intención de agregar valor al problema en sí. Reiniciar no es solucionarlo porque está pasando de nuevo. En algún punto en particular, el socket está atascado y, por lo tanto, una vez que alguien encuentra algo más que no se comentó anteriormente en este hilo, agrega valor, entonces comente, entonces si no, evite crear notificaciones :) - perdón por el largo.

sudo chown $USER:docker /var/run/docker.sock me funciona.

sudo which docker-compose up funciona bien para mí en Ubuntu 16.

Parece que hay varios problemas de acceso diferentes. Tengo este problema en el nuevo Fedora 28 y lo resolví desactivando selinux.

el mío resuelto escribiendo
sudo dockerd
//luego
sudo docker-compose up -d

ESTABLEZCA un volumen con "/var/run/docker.sock:/var/run/docker.sock" y funcionará

Funcionó después de reiniciar el servidor :)

La mía fue solo porque docker-compose no estaba en PATH . La respuesta de @pelican lo resolvió

simplemente siga las instrucciones mencionadas en este número y reinicie su máquina.

Hacer esto funcionó para mí:

sudo apt-get purge golang-docker-credential-helpers

Simplemente enfrentó el caso en el que funcionó y algunas filas de shell más tarde (sin ninguna instalación / actualización de paquete), está arrojando este error. Acabo de probar otros proyectos y se compila, así que siento que algo está roto con la caché de la ventana acoplable o los componentes internos relacionados con esta imagen. La eliminación de la imagen de la ventana acoplable, el reinicio del servicio o el sistema operativo de la ventana acoplable no funcionan. Docker está instalado correctamente (sin necesidad de sudoing).

Editar: la poda del sistema y la eliminación de este contenedor en particular resolvió el problema

Para mí, mi usuario no era miembro del grupo de Docker. Resolver...
sudo usermod -aG docker ${USER}
Luego, cierre la sesión y vuelva a iniciarla, o sudo su - ${USER} para recibir la configuración actualizada en su terminal

esa es la solucion correcta

sudo docker-compose run ....... funcionó para mí :)

Tuve los mismos problemas y solucioné el reinicio de mi ventana acoplable, muchas gracias

La respuesta está en la documentación de Docker en la sección de pasos posteriores a la instalación:
https://docs.docker.com/install/linux/linux-postinstall/

Como se informó en el documento:

El demonio de Docker se une a un socket Unix en lugar de a un puerto TCP. De forma predeterminada, el socket Unix es propiedad del usuario root y otros usuarios solo pueden acceder a él usando sudo

Es por eso que funciona ejecutando el comando con sudo .

Si, en cambio, desea que su usuario personalizado se conecte a la ventana acoplable (como en mi caso), debe agregarlo en el grupo de la ventana acoplable con:

sudo usermod -aG docker $USER

De hecho, la propiedad del conector Docker es:
srw-rw---- 1 root docker 0 Oct 3 11:31 /var/run/docker.sock

Después de esto, como se informa en el documento, debe cerrar la sesión y volver a iniciarla o reiniciar si está probando en una máquina virtual.

Probé en una máquina virtual Ubuntu 14.04 ejecutándose en Parallel y no necesitaba reiniciarla. Solo necesitaba iniciar sesión nuevamente para resolver el problema.

NOTA
Eche un vistazo a la advertencia indicada en la documentación, porque el grupo "docker" otorga privilegios equivalentes a los del usuario root. Entonces, agregar un usuario a ese grupo puede ser un problema de seguridad de acuerdo con su escenario.

ejecutar el comando como root

export DOCKER_HOST = 127.0.0.1

y luego ubíquese en la carpeta de su
su docker-compose up

Como se escribió en comentarios anteriores, intentar construir cada servicio individualmente genera mensajes de error más útiles.
Tuve este error porque el nombre de mi imagen estaba en mayúsculas dentro de docker-compose.yml.
Cambiar tanto el nombre del servicio como las propiedades de la imagen del servicio resolvió el problema.

Simplemente reinicie la ventana acoplable y funcionará perfectamente.
Ejecute: service docker restart y luego ejecute cualquier comando de la ventana acoplable que desee.

Necesita agregar su usuario al grupo de Docker para evitar "sudo Docker ..."
sudo usermod -aG docker username

¿Está su usuario en el grupo de usuarios de Docker?

sudo usermod -aG docker ${USER}

Consulte este artículo: https://medium.com/@ibrahimgunduz34/if-you-face-an-issue-like-couldnt-connect-to-docker-daemon-at-http-docker-localunixsocket-is-27b35f17d09d

tampoco me estaba funcionando. Acabo de agregar sudo antes del comando y comenzó a funcionar.

sudo dockerd

me da

Segmentation fault

entonces mi problema es que el daemon docker no se está ejecutando, pero no sé qué debo hacer

Encontré esto útil

Actualicé mi docker-compose de 1.16.1 a 1.23.1 , ¡lo resolví!

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar!

Tuve el mismo problema y, para mí, la razón por la que se solucionó un reinicio fue que después de la instalación, mi usuario se agregó al grupo de la ventana acoplable, pero este cambio de grupo solo se hizo efectivo a través de un reinicio.

Encontré esto hoy debido a un error que cometí en mi archivo docker-compose.yml.

Accidentalmente incluí la declaración de clave volumes: dos veces, y esto resultó en un error al mapear docker.sock en un contenedor interno. El error se ve así:

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    volumes:
      - datafiles:/datafiles

Que debería haber dicho:

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - datafiles:/datafiles

Descubrí que cuando declaras dos secciones de volúmenes como esta, la primera se ignora. El contenedor, por supuesto, no pudo realizar los comandos de la ventana acoplable debido a eso.

Tuve el mismo problema, sin embargo, pude resolverlo ejecutando la ventana acoplable como raíz o aplicando permisos de ejecución.

Utilicé este enlace https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04 sobre la ejecución del comando Docker sin la sección Sudo.

Una pregunta un poco fuera de tema, desde hace bastante tiempo estoy buscando documentación o referencias sobre la definición del esquema http+docker:// . ¿Alguien aquí tiene una URL o referencia a este esquema? ¡Gracias!

Tuve este problema, pero me di cuenta de que el mensaje de error docker-compose era tremendamente inútil y engañoso. Para encontrar la causa real, solo docker build <service> manualmente para cada servicio en mi docker-compose.yml hasta que encontré uno que se negó a compilar. En mi caso, fue un problema de permisos con __pycache__ en el directorio de servicios.

Tuve el mismo problema y ninguna de las soluciones me ayudó.
Probé la idea de Rosso84.
sudo service docker stop
sudo dockerd
Ahora puedo correr
docker-componer
exitosamente.
Continúa un poco de extrañeza -
sudo docker-componer
dice comando no encontrado.

funcionó para mí:
docker sudo groupadd
sudo gpasswd -a $ USER ventana acoplable

Haga una ventana acoplable newgrp o cierre la sesión / inicie sesión para activar los cambios en los grupos.
ventana acoplable newgrp

Tuve este problema al usar un argumento de compilación no establecido, que luego se usó en la etiqueta de mi imagen FROM . Solución: establezca el argumento de compilación en algo que no sea una cadena en blanco.

reiniciar el servidor lo resolvió por mí

Si no es un usuario root, intente agregar el usuario al permiso de la ventana acoplable

sudo usermod -a -G docker theUser

Lo solucioné reiniciando Ubuntu también ...

Hola ,

problema resuelto con sudo antes del comando;),

Gracias,
Moatez

Es un problema de permiso.

- sudo chown $USER:docker /var/run/docker.sock Esto funcionó para mí en una configuración de ubuntu 18.

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar!

Tome su gusto, señor

simplemente escriba sudo antes de su comando docker-compose !

esto funcionó para mí
sudo chown $USER:docker /var/run/docker.sock

usermod -a -G docker USUARIO
Luego cierre la sesión y vuelva a iniciar sesión USUARIO.

Encontré el mismo error cada vez que tenía una variable dentro de docker-compose.yml que NO está presente en .env.

Extraño error para tal escenario, pero lo que sea. :)

simplemente escriba sudo antes de su comando docker-compose !

¡Tome su gusto, señor!
Dios mío ..., pero funciona bien para mí, ¡gran trabajo!

solo tenía que hacer:
sudo ln -s / usr / local / bin / docker-compose / usr / bin / docker-compose

¡Y funcionó!

Yo instalé docker-compose y la vez resolvíe el problema con los siguientes pasos:
paso 1:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose

paso 2:
sudo chmod +x /usr/local/bin/docker-compose

paso 3:
docker-compose --version

paso 4:
export DOCKER_HOST=127.0.0.1:2375

paso 5:
usermod -a -G docker $USER

paso 6:
Reiniciar tu pc o ejecutar el comando
shutdown

Esto funcionó para mí:

sudo usermod -aG docker $ (whoami)

cerrar sesión

iniciar sesión

compruebe que está en el grupo "Docker".

- sudo chown $USER:docker /var/run/docker.sock Esto funcionó para mí en una configuración de ubuntu 18.

¡gracias!

Hola,
tengo el mismo mensaje de error:

ERROR: No se pudo conectar al demonio de Docker en http + docker: // localhost - ¿se está ejecutando?
Si se encuentra en una ubicación no estándar, especifique la URL con la variable de entorno DOCKER_HOST.

Pero este mensaje fue engañoso, porque mi demonio de Docker no tuvo ningún problema en las conexiones.
La razón fue un error estúpido que cometí en el Yaml (que no sabía antes). Accidentalmente tenía una letra mayúscula en el nombre de la imagen. Eso llevó al hecho de que el servicio no pudo formarse, ya que solo se permiten letras minúsculas como nombres.
Noté el error cuando intenté compilar el Dockerfile por separado con los nombres.
Sería útil si docker-compose pudiera reenviar los errores que ocurren dentro de los problemas de compilación. Dado que, como también dijo @ shin-, este error todavía puede ocurrir por muchas razones en este momento. Aunque ha pasado algún tiempo desde que @ shin- escribió esto, el problema todavía parece existir. Quizás pueda ser útil.

Solo publiqué mi problema aquí, porque todos están pensando estrictamente en problemas de conexión reales con la ventana acoplable y quería mostrar que no tiene por qué ser siempre el caso.

$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

$ sudo service docker start
$ sudo service docker status

Hola,

Me enfrenté al mismo problema. Pero se resolvió después de que reinicié mi VM.

BR.Saurabh

ese comando me resuelve:

sudo usermod -aG docker user

comandos:

sudo ln -s / usr / local / bin / docker-compose / usr / bin / docker-compose
sudo docker-compose up -d

Si acaba de instalar la ventana acoplable y le otorgó a un usuario el grupo de la ventana acoplable, intente cerrar la sesión de ese usuario y volver a iniciarla.

sudo service docker start && docker-compose up -d

Intente con el comando anterior. El problema se solucionó para mí

Ninguna de las soluciones enumeradas anteriormente me lo ha solucionado. ¿Alguna otra idea?

ERROR: No se pudo conectar al demonio de Docker en http + docker: // localhost - ¿se está ejecutando?

Si se encuentra en una ubicación no estándar, especifique la URL con la variable de entorno DOCKER_HOST.

resolvi o problema com esse comando:

sudo chown $USER:docker /var/run/docker.sock

👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻
👉🏽SOLUCIÓN 👈
👆🏿👆🏿👆🏿👆🏿👆🏿👆🏿

Si aún no ha probado nada de esta banda, ejecute estos dos comandos y resolverá este problema en particular:
sudo usermod -a -G docker $USER # agrega su usuario actual al grupo docker
newgrp docker # activa nuevos permisos para docker grupo

sudo usermod -a -G docker $ USER # agrega su usuario actual al grupo de docker
newgrp docker # activa nuevos permisos para el grupo de docker

Debe ser newgrp -l docker . Al usar esto, las personas deben tener en cuenta que newgrp inicia un nuevo shell, por lo que su entorno se restablecerá como si hubieran iniciado sesión nuevamente si usan -l .

Primero necesitamos volver a montar tmp con permiso de ejecución ejecutando

  1. sudo mount / tmp -o remount, exec
    entonces haz docker por
  2. "service docker start" en el usuario root o "sudo service docker start"
    luego
  3. "docker-compose up" o "docker-compose start" funcionó para mí

sudo docker-compose up -d
ERROR: No se pudo conectar al demonio de Docker en http + docker: // localhost - ¿se está ejecutando?

Si se encuentra en una ubicación no estándar, especifique la URL con la variable de entorno DOCKER_HOST.
加上 sudo 也是 报 同样 的 错误

grupos raíz
raíz: ventana acoplable raíz
la raíz está en el grupo de Docker

Resolvió el problema con esto:

  1. sudo usermod -aG docker $USER
  2. Cierre la sesión y vuelva a iniciarla para que se vuelva a evaluar la pertenencia a su grupo.
  3. Verifique que puede ejecutar comandos de Docker sin sudo: docker info

El DOCKER_HOST predeterminado es unix: ///var/run/docker.sock. Si este archivo no existe o su usuario actual no tiene acceso a ese archivo, entonces está intentando conectarse a http + docker: // localhost
Tratar:
sudo chown /var/run/docker.sock
Luego intente nuevamente ejecutar docker-compose up
Trabajó para mi.

¿Lo has probado sin sudo ? No debería necesitarlo y podría arruinar las cosas en su caso. Además, ¿qué ves cuando ejecutas docker info ?
¡Gracias! ¡funciona!

¡Pero por favor, Docker, agregue una advertencia correcta!

Recibí este mensaje al copiar volúmenes de la máquina de producción, terminé owerdrite metadata.db dentro de /var/lib/docker/volumes , luego se bloquea. Una solución es tan pequeña

docker system prune --volumes -f && rm /var/lib/docker/volumes/metadata.db && docker-compose up -d

Esto sucede a menudo cuando ejecuta comandos de docker como sudo mientras ejecuta comandos de docker-compose sin él.
Lo que debe hacer es agregar el usuario de la ventana acoplable al grupo sudo. (es decir, usermod -aG docker $ USER)
Entonces puede ejecutar ambos comandos (docker y docker-compose) sin sudo.

Tuve exactamente el mismo error. Quité el contenedor (id) y volví a iniciar la ventana acoplable. Eso me solucionó el problema. No elimina ningún dato que ya se haya cargado.

Vaya a su directorio cvat y ejecute lo siguiente en su terminal:

  • sudo docker ps (muestra información sobre sus dockers en ejecución)
  • Docker stop "Aquí el ID de su contenedor" (por ejemplo, el mío era e6339eae0675)
  • sudo docker rm "Aquí el ID de su contenedor"
  • sudo docker-compose up -d

Tengo el mismo problema, _sudo docker-compose up_ funciona para mí.

La solución para mí fue detener mi openvpn que estaba usando.

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar!

Esto funciona.

los siguientes pasos me solucionaron el problema.

eliminar ventana acoplable:
$ sudo apt-get remove docker docker-engine
reinstalar con
curl -sSL https://get.docker.com/ | sh

agregar usuario a un grupo:
sudo usermod -aG docker user

Solo una nota de que necesita exit el shell e iniciar sesión nuevamente para que el comando usermod mantenga.

Acabo de sufrir de nuevo el mismo problema que antes y encontré algo ligero al final ...
Está relacionado con que docker-compose muestra este extraño mensaje que oculta el problema real.
Intenté crear una de las imágenes con docker build. y luego mostró que algunos archivos que intentaban incluirse en el caché no tenían permisos para leer y fallaron en la compilación.
Una vez que se eliminaron los archivos emitidos, comenzó a funcionar nuevamente sin problemas.
En mi caso, el problema fue montar el directorio actual, ya que la prueba genera directorios con usuarios raíz en los hosts
Entonces, la próxima vez que la compilación falló porque no puede leer y comenzar a fallar la compilación sin un mensaje claro de la compilación de docker-compose.
Es necesario verificar la prueba de ejecución del usuario para evitar el problema más adelante, pero espero que esto ayude a otros a encontrar el problema real.

Saludos

agregar usuarios habituales al grupo de Docker

# usermod -a -G docker user
# exit
$ exec $SHELL
$ docker-compose ps

Arreglé esto desarmando la variable CONTAINER_REGISTRY_BASE

$ sudo usermod -aG docker $ USER

Descubrí que faltaba una variable de entorno que estaba rompiendo la configuración de image: en docker-compose.yml

¯_ (ツ) _ / ¯

los siguientes pasos me solucionaron el problema.

eliminar ventana acoplable:
$ sudo apt-get remove docker docker-engine
reinstalar con
curl -sSL https://get.docker.com/ | sh

agregar usuario a un grupo:
sudo usermod -aG docker user

Gracias. Desinstalar, luego reinstalar y cambiar los permisos de usuario y cerrar la sesión y volver a iniciarla me resolvió.

Ninguna de las soluciones enumeradas anteriormente me lo ha solucionado. ¿Alguna otra idea?
ERROR: No se pudo conectar al demonio de Docker en http + docker: // localhost - ¿se está ejecutando?
Si se encuentra en una ubicación no estándar, especifique la URL con la variable de entorno DOCKER_HOST.

resolvi o problema com esse comando:

sudo chown $USER:docker /var/run/docker.sock

Esto me lo arregló.

Hice todo excepto vincular simbólicamente a docker-compose. Los siguientes comandos solucionaron mi problema

  1. Agregar usuario al grupo de Docker (si aún no se agregó)
    sudo usermod -aG docker $USER
  2. cree un enlace simbólico a / usr / bin usando el siguiente comando
    $ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  3. Reiniciar el servicio de Docker
    $ sudo service docker restart

En mi caso, nada de lo anterior funcionó

Resultó que en mi archivo de redacción tenía un nombre de imagen camelCase ( eg imageName ), y eso estaba causando Couldn't connect to Docker daemon at http+docker://localunixsocket . Cambiar eso a dash-case resolvió el problema (muy extraño).
El servicio Docker funcionaba bien, docker ps e info tampoco informaban problemas, solo el inicio del archivo de redacción era el problema.

Ubuntu 18.04
docker 19.03.6
docker-compose 1.17.1 (compose file version 3)

sudo docker-compose up -d

acabo de enfrentar este problema nuevamente y me di cuenta de que debo reiniciar Ubuntu después de agregar un usuario mu al grupo Docker

sudo usermod -aG docker user

Esto de @ Kirill-Babkin me lo resolvió. Tenía un usuario recién creado que no estaba en el grupo docker. Gracias.

En mi caso, mi docker-compose.yml faltaba la definición de env var en la sección image

prod-image-generation:
    image: my-image:${BUILD_NUMBER}

Perdí unos 30 minutos con él. Sugiera un error significativo para esto.

La solución se estableció un valor para la var

Solo la exportación vacía funcionó para mí.

export DOCKER_HOST=

Instalación nueva de Docker aquí en Ubuntu 18. Suponiendo que su usuario ya está en el grupo docker , simplemente instale el servicio de Docker para que se inicie automáticamente sudo systemctl enable docker luego reinicie y listo sudo init 6

Tuvo el mismo problema.
Resuelto en mi sistema escribiendo "docker-compose build"

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .

Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Seguí esto, luego reinicié la máquina y ejecutó docker-compose up --build 👍

show

sudo usermod -aG docker $USER

Siguió esto, luego reinició la máquina y ejecutó docker-compose up --build +1

No es necesario reiniciar, basta con volver a iniciar sesión. Lo hizo por mí.

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar! 🤓

Es trabajo. no se porque jaja

Instalación nueva de Docker aquí en Ubuntu 18. Suponiendo que su usuario ya está en el grupo docker , simplemente instale el servicio de Docker para que se inicie automáticamente sudo systemctl enable docker luego reinicie y listo sudo init 6

Estoy usando Manjaro y esta solución me funciona

gracias @mikemix

He intentado muchos pasos basados ​​en el siguiente error después de ejecutar dockered .

can't initialize iptables table nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. (exit status 3)

Pero Comenzar Terminal como administrador funcionó.
sudo service docker start
Recuerde : la Terminal / Ubuntu en Windows 10 debe iniciarse como administrador

En Ubuntu 20.04 necesitaba ejecutar

sudo chmod 777 /var/run/docker.sock

y comenzó a funcionar de inmediato.


⚠️ Editar

Tenga cuidado con el comando de arriba

Esto le da a cualquier usuario de esa máquina acceso completo a un archivo que normalmente es propiedad de root. De esta forma, puede crear un grave agujero de seguridad en su sistema.
@Taranchul

sudo chmod 777 /var/run/docker.sock

Esto le da a _cualquier_ usuario de esa máquina acceso completo a un archivo que normalmente es propiedad de root. De esta forma, puede crear un grave agujero de seguridad en su sistema. Consulte https://stackoverflow.com/questions/47854463/docker-got-permission-denied- while- connect- to- daemon -

Como se mencionó aquí y en el enlace anterior, sudo usermod -aG docker $USER (o el nombre de usuario en cuestión en lugar de $ USER) debería funcionar sin socavar las medidas de seguridad del sistema.

@Taranchul ¡ Tienes toda la razón! Siempre usé sudo usermod -aG docker $USER . Pero desafortunadamente, sudo usermod -aG docker $USER ya no parece funcionar en Ubuntu 20.04.

¿Alguna idea de qué podría estar saliendo mal?

Por desgracia, no lo hago. ¿Volvió a iniciar sesión con ese usuario (que funcionó para mí) o reinició la máquina? Supongo que lo hiciste, pero es mejor estar seguro.

En caso de que usted o cualquier otra persona quiera restaurar los permisos originales de docker.sock , son 660, al menos en mi Ubuntu Server 18.04.

@Taranchul Sí, intenté volver a

Tal vez sea un problema de 20.04, ya que su versión final se lanzó ayer. Normalmente espero la primera instantánea de cualquier lanzamiento de LTS en algún momento del verano, que con suerte ya habrá solucionado la mayoría de los problemas iniciales para ese momento.

¿Podría probarlo en una versión anterior?

@Taranchul Parece ser un problema con 20.04. Funciona bien en 19.04

Esa es una información útil, aunque no te ayuda mucho en este momento. Entonces, ¿es una opción para usted usar 18.04 hasta que 20.04 se vuelva más maduro en este asunto?

Un tiro lejano: ¿Verificó que el usuario realmente se agregó al grupo de Docker?

@Taranchul Quiero decir que podría usar 18.04, pero como ya he migrado todo a 20.04, probablemente no lo haga.

¿Ejecutar todos los comandos de Docker con sudo una opción válida hasta que se solucione?

Por desgracia, no sé mucho sobre Docker, así que no puedo responder esa pregunta.

Encontré estas instrucciones para instalar Docker en 20.04 que lo hacen de forma un poco diferente: https://www.how2shout.com/how-to/how-to-install-docker-ce-on-ubuntu-20-04-lts- focal-fossa.html

Agregan el grupo de Docker antes de agregar el usuario. ¿Quizás eso sea necesario el 20.04? (Todavía no lo tengo, así que no puedo probarlo yo mismo).

sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker # or relogin to make the new group known to the system

@Taranchul Sabes lo que es raro ... sudo chmod 660 /var/run/docker.sock para restablecer los permisos y después de reiniciar todavía está funcionando.

¿Puedo considerar que el problema se ha solucionado o es posible que aún exista un riesgo de seguridad?
Tal vez olvidé un paso cuando instalé todo ayer ... ¿y en realidad no es un problema con Ubuntu 20.04?

De acuerdo con esta pregunta en askubuntu.com , docker.sock era root:root . Solo después de crear el grupo de la ventana acoplable, agregarle el usuario y reiniciar el servidor de la ventana acoplable, cambió a root:docker . Entonces, verificar si el grupo existe ( editar: y si existe, verificar la propiedad de docker.sock ) parece ser una buena idea. También para reiniciar su instancia de Docker.

Tenga en cuenta una de las respuestas de menor calificación, la que habla de ACL y cómo puede habilitar el acceso a docker.socks mediante el comando setfacl .

Por último, no menos importante, hay advertencias sobre este último, además de agregar un usuario al grupo de la ventana acoplable, porque le otorga a ese usuario importantes derechos de acceso. 😎 Pero sigo pensando que estas formas son preferibles para modificar los permisos del archivo.

Al leer su último comentario justo después de escribir lo anterior, diría que simplemente sea feliz y observe todo. Es difícil saber si te perdiste algo y lo arreglaste de alguna manera mientras probabas varias soluciones.

@Taranchul Genial. Sigue funcionando después de reiniciar Docker. Así que supongo que fue culpa mía. ¡Gracias por tu ayuda!

@flulu Es un placer y gracias por tomar mi primera advertencia de la manera más amistosa posible. :)

En Windows 10, se resolvió actualizando a WSL2 y respaldando mi distribución de Ubuntu a WSL2.
https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

Este problema se resolvió cuando reinicié la computadora. :sonreír:

Esto resolvió mi problema.

sudo usermod -aG docker myuser

Muchas gracias @ Kirill-Babkin.

Resuelto por:

sudo chmod 666 /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock

Como se dijo aquí antes , esto puede abrir un agujero de seguridad en su sistema. ¿Probaste la solución usermod antes de eso? También puede generar preocupaciones de seguridad, porque le da al usuario acceso completo a través de la ventana acoplable, pero en comparación con dar acceso a _todos_ los usuarios a un archivo propiedad de root, parece ser el mal menor.

@ matteo-bombelli
Tuve el mismo problema.
Necesitas reiniciar Docker.
$ service docker restart
Lo resolví con esto.

Fue la solución y funcionó, ¡gracias!

obtengo este error en ubunt 20.0.4

Lo instalé con apt get de fuentes apt. ¿Hay una versión más nueva en un ppa?

yo hice
newgrp docker
Y funcionó

Estaba trabajando en Lightsail. Reiniciar la imagen lo solucionó.

Tal vez solo intente agregar su usuario de Linux al grupo: Docker, luego vuelva a iniciar sesión.

En Ubuntu 20, la ventana acoplable se ejecuta en snap, como puede ver a través de 'systemctl status snap.docker.dockerd.service'

Intenta comenzar con el grupo /var/run/docker.sock configurado en 'docker', pero de forma predeterminada, ese grupo no existe en Ubuntu 20, incluso si selecciona el complemento Docker en la instalación.

Para solucionar esto, cree el grupo, agregue su usuario al grupo, luego reinicie

docker sudo groupadd
sudo usermod -G docker $ USER
sudo reiniciar

No puede simplemente cerrar la sesión y luego iniciar sesión, y por lo que he podido decir, no puede reiniciar snap.docker.dockerd o snapd y hacer que cambien los permisos. No sé cómo engañarlo para que haga lo correcto sin reiniciar, así que si lo sabe, infórmeme.

Estoy en 20.04 y tuve el mismo problema y podría hacer sudo docker info pero no como mi usuario habitual. Yo estaba en el grupo de Docker desde antes y todavía puedo navegar por mi sitio de WordPress en 127.0.0.1. Tuve que ejecutar newgrp docker para solucionarlo. Muy extraño porque todo lo que he hecho es bloquear esta estación de trabajo desde que configuré la ventana acoplable hace 2 días. ¿Quizás una actualización rompió algo?

newgrp docker me funciona

Configurar DOCKER_HOST manualmente funcionó para mí

  1. Encuentre la ruta a su archivo de calcetines: (usando sudo service docker status o ps -aef | grep docker )
  2. exportar DOCKER_HOST=unix://<path to sock file>

En mi caso, el archivo de calcetines estaba ubicado en /run/containerd/containerd.sock
así que tuve que ejecutar export DOCKER_HOST=unix:///run/containerd/containerd.sock

Para mi caso: después de reiniciar el clúster, el problema se resolvió.

En Ubuntu 20, la ventana acoplable se ejecuta en snap, como puede ver a través de 'systemctl status snap.docker.dockerd.service'

Intenta comenzar con el grupo /var/run/docker.sock configurado en 'docker', pero de forma predeterminada, ese grupo no existe en Ubuntu 20, incluso si selecciona el complemento Docker en la instalación.

Para solucionar esto, cree el grupo, agregue su usuario al grupo, luego reinicie

docker sudo groupadd
sudo usermod -G docker $ USER
sudo reiniciar

No puede simplemente cerrar la sesión y luego iniciar sesión, y por lo que he podido decir, no puede reiniciar snap.docker.dockerd o snapd y hacer que cambien los permisos. No sé cómo engañarlo para que haga lo correcto sin reiniciar, así que si lo sabe, infórmeme.

Creo que te refieres a sudo usermod -aG docker $ USER. Ejecutar sin -a provocará "Si el usuario es actualmente miembro de un grupo que no está en la lista, el usuario será eliminado del grupo".

No puede simplemente cerrar la sesión y luego iniciar sesión, y por lo que he podido decir, no puede reiniciar snap.docker.dockerd o snapd y hacer que cambien los permisos. No sé cómo engañarlo para que haga lo correcto sin reiniciar, así que si lo sabe, infórmeme.

Un nuevo inicio de sesión debería ser suficiente para que el nuevo grupo esté activo para ese usuario.

Esto también se me ocurrió a mí. Necesitaba desconectarme de mi cliente nordvpn por alguna razón.

sudo docker-compose up -d funciona !!!

¿Lo has probado sin sudo ? No debería necesitarlo y podría arruinar las cosas en su caso. Además, ¿qué ves cuando ejecutas docker info ?

ura puto genio. tu sabes eso ? Muchas gracias hermano . Me salvaste del infierno.

No estoy seguro exactamente de por qué, pero en mi caso tenía un submódulo que no estaba verificado. Ejecutar git submodule update --init y luego volver a ejecutar docker-compose build solucionó el problema para mí

No estoy seguro de lo que pasó, ¡reinicié mi PC y empezó a funcionar!

Igual que aquí. 😃

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .

Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Además, no olvide ejecutar newgrp docker para obtener acceso a ese grupo en su shell actual. ref https://stackoverflow.com/a/48569858/2040522

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .

Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Esto funciona perfectamente. Tienes que volver a iniciar sesión para ver resultados.

sudo usermod -aG docker $USER

Esto funciona perfectamente. Tienes que volver a iniciar sesión para ver resultados.

Alternativamente, newgrp docker debería hacer eso sin volver a iniciar sesión.

sudo chmod 666 /var/run/docker.sock

Como se dijo aquí antes , esto puede abrir un agujero de seguridad en su sistema. ¿Probaste la solución usermod antes de eso? También puede generar preocupaciones de seguridad, porque le da al usuario acceso completo a través de la ventana acoplable, pero en comparación con dar acceso a _todos_ los usuarios a un archivo propiedad de root, parece ser el mal menor.

Lo dices bien, pero esto es muy importante para devops, solo soy un desarrollador y lo soluciono usando este comando,
agradecimiento especial a @ shqear93

Esto es doloroso y no puedo creer que el problema se haya cerrado hace tres años sin una respuesta significativa de Docker. Este problema de github no debería estar en su conjunto de características. ¿Cuál es el plan para arreglar esto? No apunte esto a los usuarios que no entienden cómo funcionan los grupos, los usuarios y las sesiones, u otras piezas de software que funcionan como ellos. _Tú_ elegiste esta complicada forma de hacer las cosas.

Tuve que _ reiniciar_ mi computadora en lugar de cerrar sesión / iniciar sesión para que sudo usermod -aG docker my_user surtiera efecto. Alguna evidencia de que esto le sucede a otros aquí: https://unix.stackexchange.com/questions/277240/usermod-ag-group-user-not-work.

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .
Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Además, no olvide ejecutar newgrp docker para obtener acceso a ese grupo en su shell actual. ref https://stackoverflow.com/a/48569858/2040522

Funcionó perfectamente para mí. ¡Gracias!

En Ubuntu 16.04 esto funcionó para mí:
sudo service docker start && docker-compose up -d

esto funcionó para mí!

Simplemente tuve el mismo problema. Descubrí que, por alguna razón, mi usuario no se agregó al grupo de seguridad de la ventana acoplable, lo que a su vez no me permitió permiso en el socket unix de la ventana acoplable y me dio _ERROR: No se pudo conectar al demonio de Docker en http + docker: // localunixsocket - ¿se está ejecutando? .
Agregar el grupo de la ventana acoplable a mi usuario actual, luego cerrar la sesión y volver a iniciarla solucionó todo para mí:
sudo usermod -aG docker $USER

Además, no olvide ejecutar newgrp docker para obtener acceso a ese grupo en su shell actual. ref https://stackoverflow.com/a/48569858/2040522

Esto resolvió mi problema, gracias !!!

No tengo idea de por qué, pero lo que me solucionó fue eliminar la siguiente línea de mi archivo docker-compose .env :

DOCKER_HOST=tcp://localhost:2375

Resuelto por:

sudo chmod 666 /var/run/docker.sock

Gracias. Resuelto en Ubuntu 20.0.4 LTS

Intenté jugar con permisos y lo hice:

sudo docker-compose build

Y se fue a las carreras.
En el fondo, un problema de permisos, si tiene el servicio Docker en ejecución, grupo asignado, permisos de socket configurados y aún no lo ve funcionando. Solo hazlo con sudo. Trabajó para mí, tengo mejores cosas que hacer.

alguna solución para ubuntu 20.04?

alguna solución para ubuntu 20.04?

¿Probaste la solución publicada antes? (https://github.com/docker/compose/issues/4181#issuecomment-629748049)

En resumen (con sugerencias posteriores agregadas):

docker sudo groupadd
sudo usermod -aG docker $ USER
ventana acoplable newgrp

Si "newgrp docker" no es suficiente, es posible que sea necesario reiniciar (hay comentarios contradictorios al respecto).

¿Fue útil esta página
0 / 5 - 0 calificaciones