tutorial imagenes hub espaƱol dockers crear contenedor container linux docker

linux - imagenes - Docker no puede conectarse al demonio docker



dockers container download (30)

Después de actualizar mi versión de Docker a 0.8.0 , 0.8.0 un mensaje de error al ingresar la sudo docker version :

Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 2014/02/19 12:54:16 Can''t connect to docker daemon. Is ''docker -d'' running on this host?

Y seguí las instrucciones y entré al comando sudo docker -d , y obtuve esto:

[/var/lib/docker|2462000b] +job initserver() [/var/lib/docker|2462000b.initserver()] Creating server open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1) 2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

¿Cómo resuelvo el problema?


Linux

Los pasos posteriores a la instalación para la documentación de Linux revelan los siguientes pasos:

  1. Crea el grupo docker .

    sudo groupadd docker

  2. Agregue el usuario al grupo docker .

    sudo usermod -aG docker $(whoami)

  3. Cierre la sesión y vuelva a iniciarla para asegurarse de que la ventana acoplable se ejecuta con los permisos correctos.
  4. Iniciar docker.

    sudo service docker start

Mac OS X

Como Dayel Ostraco dice es necesario agregar variables de ambientes:

docker-machine start # Start virtual machine for docker docker-machine env # It''s helps to get environment variables eval "$(docker-machine env default)" # Set environment variables

El comando de docker-machine start envía los comentarios para guiar el proceso.


Linux

Para ejecutar el demonio docker en Linux (desde CLI ), ejecute:

$ sudo service docker start # Ubuntu/Debian

Nota: Omita el carácter $ al copiar y pegar.

En RedHat / CentOS, ejecute: sudo systemctl start docker .

Para inicializar el sistema de archivos "base", ejecute:

$ sudo service docker stop $ sudo rm -rf /var/lib/docker $ sudo service docker start

o manualmente como:

$ sudo docker -d --storage-opt dm.basesize=20G

Instalar docker-machine en Linux

Para instalar binarios de máquina en Linux:

  • en la zona:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine

  • global:

    sudo bash -c ''install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine''

Mac OS

En macOS, el binario de la docker es solo un cliente y no puede usarlo para ejecutar el demonio de la ventana acoplable, porque el demonio Docker usa características del kernel específicas de Linux, por lo tanto no puede ejecutar Docker de forma nativa en OS X. Por lo tanto, debe instalar docker-machine con el fin de crear VM y adjuntar a ella.

Instalar docker-machine en macOS

Si aún no tiene el comando docker-machine , instálelo usando uno de los siguientes métodos:

  • Usando el comando Brew : brew install docker-machine docker .
  • manualmente desde GitHub :

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine

Ver: Comenzar con Docker para Mac .

Configurar docker-machine en macOS

Para iniciar Docker Machine a través de Homebrew, ejecute:

brew services start docker-machine

Para crear una máquina default (si no tiene una, vea: docker-machine ls ):

docker-machine create --driver virtualbox default

A continuación, configure el entorno para el cliente Docker:

eval "$(docker-machine env default)"

Luego, vuelva a verificar enumerando los contenedores:

docker ps

Consulte: Comience con Docker Machine y una máquina virtual local .

Instala Docker.app en macOS

Como alternativa a la solución anterior, puede instalar una aplicación Docker por:

brew cask install docker

Revisa esta publicación para más detalles . Ver también: No se puede conectar al demonio Docker en macOS


Usa la aplicación Docker CE

Mac OS

Utilice la nueva aplicación Docker Community Edition para macOS. Por ejemplo:

  1. Desinstale todos los paquetes de Docker Homebrew que haya instalado hasta ahora:

    brew uninstall docker-compose brew uninstall docker-machine brew uninstall docker

  2. Instala una aplicación manualmente o por Homebrew-Cask :

    brew cask install docker

    Nota: esta aplicación creará los enlaces necesarios a la docker , a la docker docker-compose , docker-machine , etc.

  3. Después de ejecutar la aplicación, verifique el ícono de una ballena Docker en el menú de estado.

  4. Ahora debería poder usar los comandos docker , docker-compose , docker-machine como de costumbre en la Terminal .

Relacionado:

  • Brew docker docker no incluye motor docker?
  • No se puede conectar al demonio Docker en macOS

Linux / Windows

Descargue el Docker CE desde la página de descarga y siga las instrucciones.


  1. También tuve el mismo problema. El problema estaba en los sockets asignados a docker-daemon y docker-client.
  2. Primero, el permiso no se estableció para el docker-client en docker.sock. Puede configurarlo usando "sudo usermod -aG docker $ USER"
  3. Luego revise su archivo bash donde se está ejecutando el docker-client. Para mí, estaba en 0.0.0.0:2375, mientras que docker-daemon se estaba ejecutando en el socket Unix (se estableció en el archivo de configuración de dockerd).
  4. Solo comenta la línea de bash y funcionará bien.
  5. Pero si desea que funcione en el puerto TCP en lugar del socket Unix, cambie el archivo de configuración de dockerd y configúrelo en 0.0.0.0.2375 y mantenga la línea en bash como está si está presente o configúrela a 0.0.0.0: 2375.

Acabo de tener el mismo problema, corriendo en Amazon AWS .

Esto es lo que intenté:

  • Configure la docker-machine localmente con una instancia de AWS ya existente
  • Configuración genérica usada
  • Se conectó, pero como el puerto remoto estaba cerrado, falló
  • Después de eso, el demonio Docker se negó a iniciarse, pero la ejecución de dockerd funcionó ...

Fue probado siguiendo en la máquina remota:

service docker start # Also restart, no success systemctl start docker # Also restart, no success dockerd # Success

Quité /var/lib/docker y desinstalé todo, pero no hubo éxito después de la reinstalación. Desafortunadamente, no tengo registros almacenados de fallas, pero el servicio docker.service negó a iniciar.

Sin embargo, lo que finalmente resolvió mi problema fue básicamente:

sudo usermod -aG docker $(whoami)


Compruebe si está utilizando Docker Machine :)

Ejecutar docker-machine env default debería hacer el truco.

Porque según la documentación:

Docker Machine es una herramienta que le permite instalar Docker Engine en hosts virtuales y administrar los hosts con comandos de docker-machine . Puede usar Machine para crear hosts Docker en su Mac local o Windows box, en la red de su empresa, en su centro de datos o en proveedores en la nube como AWS o Digital Ocean.

Con docker-machine comandos de docker-machine , puede iniciar, inspeccionar, detener y reiniciar un host administrado, actualizar el demonio y el cliente de Docker y configurar un cliente de Docker para hablar con su host.

Apunte el CLI de la máquina a un host administrado y en ejecución, y puede ejecutar los comandos de la docker directamente en ese host. Por ejemplo, ejecute el docker-machine env default para apuntar a un host llamado default , siga las instrucciones en pantalla para completar la configuración de env , y ejecute el docker ps , el docker run hello-world , etc.

https://docs.docker.com/machine/overview/


Después de una investigación detallada, este problema parece ocurrir cada vez que se reinicia Mac OS X (o se reinicia la máquina virtual Docker), lo que evita que el cliente Docker se conecte al demonio Docker.

Para resolver el problema, puede:

A) Reinstale Docker Toolbox utilizando el instalador oficial ( https://www.docker.com/products/docker-toolbox ), o simplemente

B) Ejecutar los siguientes comandos en orden:

# First make sure that the virtual machine is running docker-machine start default # Regenerate TLS connection certs, requires confirmation docker-machine regenerate-certs default # Finally, set env eval "$(docker-machine env default)"

C) Igual que (B), también puede copiar y pegar la siguiente línea para ejecutar los tres comandos:

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

En caso de que obtenga el siguiente error:

Error getting SSH command: Something went wrong running an SSH command! command : cat /etc/os-release err : exit status 255 output :

simplemente vuelva a ejecutar los tres comandos otra vez, y debería funcionar la segunda vez.


Esto suele suceder cuando no está en el grupo docker . Puedes docker grupo docker con:

sudo usermod -aG docker yourusername

o

sudo usermod -aG docker $(whoami)

Después de esto, debe cerrar sesión y volver a iniciar sesión en el servidor.

Alternativamente, puede sudo cada comando de Docker.


Hacer un ps aux | grep docker ps aux | grep docker para ver si el demonio se está ejecutando. Si no se ejecuta /etc/init.d/docker start


Intente agregar el usuario actual al grupo docker :

sudo usermod -aG docker $USER

A continuación, cierre la sesión e inicie sesión.


Intente cambiar el archivo de configuración de Docker, el docker o el docker-network en /etc/sysconfig :

(... ~ v1.17)

archivo docker :

OPTIONS= -H fd://

o (v1.18):

archivo docker-network :

DOCKER_NETWORK_OPTIONS= -H unix:///var/run/docker.sock


La mejor manera de descubrir por qué Docker no funciona es ejecutar el daemon manualmente.

$ sudo service docker stop $ ps aux | grep docker # do this until you don''t see /usr/bin/docker -d $ /usr/bin/docker -d

El demonio Docker se registra en STDOUT, por lo que comenzará a escupir lo que sea que esté haciendo.

Aquí estaba lo que mi problema era:

[8bf47e42.initserver()] Creating pidfile 2015/01/11 15:20:33 pid file found, ensure docker is not running or delete /var/run/docker.pid

Esto se debió a que la instancia había sido clonada desde otra máquina virtual. Solo tuve que eliminar el archivo pid, y todo funcionó después.

Por supuesto, en lugar de suponer ciegamente que esto funcionará, sugeriría ejecutar el daemon manualmente una vez más y revisar la salida del registro para ver si hay otros errores antes de iniciar la copia de seguridad del servicio.


Me enfrenté a este problema y reinicié Docker usando estos comandos:

$ sudo service docker stop $ sudo service docker start

Pero no resolví mi problema, porque olvidé ejecutar mis comandos de Docker sin sudo . Para aquellos que se enfrentan a este problema, trate de comprobar eso.

Tratar

$ sudo docker info

en lugar de esto:

$ docker info


Ok, así que empecé a tener este problema hoy. Luego vi muchas respuestas pero ninguna parece haber funcionado para mí. Primero, la mayoría de las instrucciones fueron dirigidas a linux. Y para la versión Mac, todos hablaban de ejecutar ''docker-machine''. Supongo que utiliza la ventana acoplable si instala la caja de herramientas de la ventana acoplable porque entonces la ventana acoplable se ejecutará en una máquina virtual para plataformas Windows y Mac. Pero su 2017 ahora y la ventana acoplable para mac son realmente estables, por lo que no es necesario utilizar la caja de herramientas.

Aunque no estoy seguro de cómo se detuvo el demonio. Pero para reiniciar todo lo que tenía que hacer era ir a "Aplicaciones" y hacer doble clic en el icono de la ventana acoplable. Me pidieron actualizar y relanzar lo que acepté. Después de eso todo funcionó a la perfección.


Para solucionarlo, debe emitir los siguientes comandos en el terminal. Te explico cada paso:

# Uninstall Docker from apt packages $ sudo apt-get remove docker docker.io # Remove it from the libraries just to be # sure it''s gone forever $ sudo rm -rf /var/lib/docker/*

Ahora, si desea simplificar las cosas y obtener más tiempo, puede ejecutar mi script de init con el parámetro installDocker :

# Pull the init script from GitHub $ wget https://github.com/dminca/dotfiles/blob/master/init # Add rights to run the script $ chmod 755 init # Just run the script with the installDocker parameter $ ./init installDocker

El reinicio es opcional, pero le sugiero que lo haga para asegurarse de que todo funcione correctamente.


Reinicio Docker después de instalarlo:

$ sudo service docker stop $ sudo service docker start

Y funciona.


Si está ejecutando Docker en OS X, la ejecución de la siguiente evaluación me ha funcionado.

eval "$(docker-machine env default)"

Si prefiere no tener que ejecutar esta declaración eval en cada sesión de terminal, puede agregar esto a su bash_profile :

#Docker eval "$(docker-machine env default)"

Asegúrese de reiniciar la sesión de terminal o ejecutar la fuente en bash_profile para que los cambios surtan efecto.


Si está ejecutando en OS X usando la herramienta Docker, siga esto.

Reinicie el demonio y configure su entorno:

docker-machine restart

Y entonces

docker-machine env

Finalmente,

eval $(docker-machine env)

Para probar el demonio se está ejecutando:

docker ps -a o docker-machine ls . Esto listará todos los contenedores.


Si la regeneración de certificados TLS no funciona

docker-machine regenerate-certs default

Intente reiniciar la máquina docker y configurar la variable env:

docker-machine restart default eval $(docker-machine env default)

Compruebe si la máquina está funcionando con:

docker-machine ls

o alternativamente

docker run hello-world

Esto funcionó para mí. Sin embargo, si aún no tiene el demonio arriba, la página de solución de problemas de Docker detalla un proceso para detener, eliminar y crear una nueva máquina.


Si recibe el mensaje Can''t connect to docker daemon. Is ''docker -d'' running on this host? Can''t connect to docker daemon. Is ''docker -d'' running on this host? , puedes comprobarlo por docker version .

Si ve la información como Docker Client se está ejecutando. pero Docker Server no lo es, obviamente necesita iniciar el servidor Docker.

En CentOS, puede usar el service para iniciar o detener el servidor Docker.

$ sudo service docker stop $ sudo service docker start

Luego, después de escribir la docker version , obtendrá la información de Docker Client y Docker Server , y el demonio Docker se habrá iniciado.


Si todas las otras soluciones anteriores no funcionan, puede intentar verificar la propiedad de /var/run/docker.sock :

ls -l /var/run/docker.sock

Si no eres el propietario, cambia la propiedad con el comando:

sudo chown *your-username* /var/run/docker.sock

Luego puedes seguir adelante e intentar ejecutar los comandos de Docker sin complicaciones: D


Siguiendo el sitio DOC de Docker: Administrar Docker como un usuario no root

1) Crear grupo Docker

sudo groupadd docker

2) Hacer que el usuario pertenezca al grupo docker para obtener los privilegios del grupo.

sudo usermod -aG docker $USER

Compruebe si la variable de entorno DOCKER_HOST está establecida para su shell.

env | grep DOCKER_HOST

Si existiera,

unset DOCKER_HOST

Entonces esto debería funcionar:

docker run hello-world


También tengo el problema "No se puede conectar con el daemon Docker. ¿Se está ejecutando el daemon docker en este host?".

Me había olvidado de usar sudo . Espero que nos ayude a algunos de nosotros.

$:docker images Cannot connect to the Docker daemon. Is the docker daemon running on this host? $:sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE


Tengo el mismo error y al intentar con docker-machine regenerate-certs o eval.. no me funcionó.

Esto en OS X 10.11.3 (El Capitán) y Docker v1.10.1. Solo pude arreglarlo eliminando y volviendo a crear docker-machine nuevamente. Source

Si ejecuta el docker-machine ls , le muestra una salida similar a la de abajo;

ESTIBADOR

Desconocido

ERRORES

No se puede consultar la versión de la ventana acoplable: no se puede conectar al punto final del motor de la ventana acoplable

Intenta quitar tu máquina Docker con;

docker-machine rm -f default

Donde por default es el nombre de su máquina Docker. Entonces;

docker-machine create -d virtualbox default

Crea una nueva máquina Docker.

Verifique que todo se vea normal ahora (sin errores o Docker desconocido) con:

docker-machine ls

Finalmente, no olvide ejecutar "$(docker-machine env default)" antes de continuar o ejecutar el Terminal de inicio rápido de Docker, que lo hace por usted ...


Tengo el mismo problema. En CentOS 6.5:

ps aux |grep `cat /var/run/docker.pid`

Si muestra que no existe un proceso de demonio Docker, escribo:

docker -d

Luego Ctrl + D para detener Docker. Debido a que usamos la opción -d , Docker se ejecutará como demonio. Ahora podemos hacer:

service docker start

Entonces podré hacer un docker pull centos . Eso es todo.

NOTA: Si estos no funcionan, puede probar yum update y luego repetirlos nuevamente, ya que yo yum install antes de estos.


Tengo un problema similar. Tuve que cerrar sesión e iniciar sesión nuevamente en el shell porque acabo de instalar Docker y el siguiente comando no se mostró en mi entorno.

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc


Tuve el mismo problema al ejecutar Docker 1.10 en Ubuntu 14.04 y ninguna de las respuestas dadas funcionó. Para mí, la solución fue especificar el controlador de almacenamiento al ejecutar el demonio Docker.

sudo docker daemon --storage-driver=devicemapper


Tuve el mismo problema: "No se puede conectar con el demonio docker". (excepto que no obtuve ningún error de ''archivo no encontrado'' al intentar iniciar el servidor).

''ps'' mostró que "/ usr / bin / docker -d" todavía se estaba ejecutando

Sin embargo, me di cuenta de que nunca había tenido éxito en ejecutar el servidor. Cada intento había producido

... 2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid

Así que me di cuenta tardíamente de que la instalación de la ventana acoplable tal vez había registrado el daemon con upstart, lo cual lo había iniciado para mí. Por lo tanto, intentar matar al demonio para reiniciarlo manualmente falla (operación no permitida). Así que hice un

sudo kill -9 <PID>

en el proceso de daemon. Otro demonio inmediatamente tomó su lugar, y este nuevo SÍ permite que mi cliente CLI se conecte:

$ sudo docker info Containers: 0 Images: 0 Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 0 WARNING: No memory limit support WARNING: No swap limit support


Tuve un problema similar

En mi caso, la solución fue eliminar una versión obsoleta de la ventana acoplable. Supongo que esto estaba causando algunos conflictos.

En ubuntu:

sudo apt remove docker

resuelto el problema para mi


¿Has intentado apagarlo y volver a encenderlo? :-)

Tuve el mismo problema después de actualizar a Docker 1.10.1 en mi Mac. Hice lo siguiente:

En la terminal de inicio rápido de Docker

$ salida

$ salida

entonces

docker-machine kill predeterminado

luego reinició Docker Quickstart Terminal

Esto solucionó mi problema.