Quiero construir una imagen acoplable en el contenedor acoplable.
Entonces, traté de crear una imagen de ubuntu docker instalada en docker siguiendo https://docs.docker.com/engine/installation/linux/ubuntu/ , pero fallé.
FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y \ apt-transport-https \ ca-certificates \ software-properties-common RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - RUN apt-key fingerprint 0EBFCD88 RUN add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" RUN apt-get update && \ apt-get install -y docker-ce Cuando ejecuto docker images u otros comandos en la imagen acoplable creada por el archivo Docker anterior, ocurre el error.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?¿Hay alguna manera de resolver este problema? Gracias.
Además del efecto del entorno de AWS, el problema que tiene se debe a que no inició el demonio docker dentro de su contenedor, como se muestra en el mensaje de error.
Estos son los pasos para mostrar cómo hacer que funcione manualmente:
Inicie e ingrese un contenedor usando la imagen creada a partir de su Dockerfile :
docker run --privileged -it dind /bin/bash
Y aquí está el problema que tienes:
root@82d6eab69331:/# docker images Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Inicie el docker daemon dentro de este contenedor:
root@82d6eab69331:~# /usr/bin/dockerd -H unix:///var/run/docker.sock > dockerd.log 2>&1 &
Verifique el archivo de registro para asegurarse de que se inició correctamente y luego intente docker images :
root@82d6eab69331:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE
Por lo tanto, es posible que deba agregar un Dockerfile de entrada para iniciar el docker daemon en su entrypoint . Pruebo en el entorno de CentOS 7.2 y docker 1.12 . Espero que esto pueda ser útil para usted :-)
no se puede conectar al demonio Docker; es posible que deba ejecutar ... Tal vez, pueda ver el resultado de este comando.
$ sudo docker imagesDebe agregar su usuario en el grupo docker. Y luego, puede usar el comando docker sin 'sudo'.
$ sudo usermod -aG docker ${USER} $ sudo service docker restartA continuación, debe cerrar sesión en su sistema operativo . Finalmente, cuando inicie sesión, puede usar el comando docker sin 'sudo'.