mac for compose osx-mavericks docker boot2docker

osx-mavericks - for - download docker



la ventana acoplable no se puede conectar a boot2docker debido al tiempo de espera de tcp (12)

Estoy ejecutando Mac OS 10.9.5, he seguido https://docs.docker.com/installation/mac/ para instalar Docker. Aparece un mensaje de error de tiempo de espera cuando ejecuto la ventana acoplable, aunque la VM de boot2docker se está ejecutando en segundo plano.

nikhil@macbook ~> boot2docker status running nikhil@macbook ~> boot2docker ip The VM''s Host only interface IP address is: 192.168.59.103 nikhil@macbook ~> docker run hello-world 2014/11/01 01:01:31 Post https://192.168.59.103:2376/v1.15/containers/create: dial tcp 192.168.59.103:2376: i/o timeout nikhil@macbook ~> docker search ubuntu 2014/11/01 01:02:40 Get https://192.168.59.103:2376/v1.15/images/search?term=ubuntu: dial tcp 192.168.59.103:2376: i/o timeout

He verificado que Docker se está ejecutando dentro de boot2docker vm y que mi puerto es correcto.

nikhil@macbook ~> boot2docker ssh ## . ## ## ## == ## ## ## ## === /""""""""""""""""/___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ /______ o __/ / / __/ /____/______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ / __| | ___ ___| | _____ _ __ | ''_ / / _ / / _ /| __| __) / _` |/ _ / / __| |/ / _ / ''__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ /___/ /___/ /__|_____/__,_|/___/ /___|_|/_/___|_| Boot2Docker version 1.3.1, build master : 9a31a68 - Fri Oct 31 03:14:34 UTC 2014 Docker version 1.3.1, build 4e9bbfa docker@boot2docker:~$ sudo netstat -ntpl | grep docker tcp 0 0 :::2376 :::* LISTEN 629/docker


¡En mi caso solo tuve que reiniciar mi máquina host Mac y el problema desapareció! No estaba conectado a VPN ni nada por el estilo. No estoy seguro de la razón por la que esto sucedió.


¿Has revisado tu variable de entorno DOCKER_HOST? Debería estar apuntando a

exportar DOCKER_HOST = tcp: //192.168.59.103: 2376


Eliminé vboxnet0 de las preferencias de VirtualBox e inicié un segundo boot2docker vm (boot2docker --vm = "boot2docker-vm2" init) para recrear vboxnet0 con la configuración correcta. Después de esto, las cosas volvieron a la normalidad.


Esto es lo que funcionó para mí cuando golpeé un inconveniente similar. Asegúrate de haber actualizado VirtualBox, luego:

  1. boot2docker stop
  2. boot2docker init
  3. boot2docker start; eval "$(boot2docker shellinit)"

Luego, solo por el bien de la salud, verifique que $DOCKER_HOST coincida con $(boot2docker ip) . Sospecho que tenía muchas cosas en juego, ya que cuando comencé, $DOCKER_HOST había desarmado de alguna manera.

El tema y algunos debates se pueden encontrar en la página de problemas de GitHub here ; parece que a menudo es solo un caso de VirtualBox escamosa.


Esto es lo que hice para solucionar el problema (yo uso OSX Yosemite y la respuesta aceptada no funcionó para mí):

  • boot2docker delete - Advertencia: esto borra todas las imágenes del acoplador.
  • En Virtualbox, vaya a VirtualBox (menú) => Preferences => Network => Host Only Networks
    • Eliminar las redes de solo host, luego las re-agregué
  • boot2docker init
  • boot2docker up

Ahora Docker trabaja para mí desde la línea de comandos de OS X a través de iTerm2.


Esto también me pasó a mí, y ninguno de los anteriores resolvió el problema.

Hoy, gracias a la sugerencia de los colegas, no inicié mi VPN primero. Reinicié mi máquina y comencé con Docker desde el principio.

boot2docker init boot2docker up $(boot2docker shellinit) docker run hello-world

¡Funcionó como se esperaba!

Encontré útil esta post de Florian Rosenberg. Lo leo en detalle, pero creo que la mayor parte de lo que sugiere en la primera parte se ha incluido en la versión más reciente de boot2docker. Pero la parte más perspicaz fue "Conectarse a VPN Las cosas se romperán". Lo que sugirió es buscar una regla de firewall que niegue cualquiera a alguna. Así que, sin VPN encendido, busqué esta regla, y no estaba allí. Efectivamente, una vez que encendí mi VPN, obtuve el siguiente error (diferente) ...

docker run hello-world 2014/11/13 11:11:18 Post https://192.168.59.103:2376/v1.15/containers/create: dial tcp 192.168.59.103:2376: permission denied

Comprobé las reglas del firewall y, con seguridad, se agregó una nueva regla ... sudo ipfw -a list | grep "deny ip" 00411 1 64 deny ip de cualquiera a cualquier

Una vez que eliminé esa regla de firewall con: sudo ipfw delete 00411

Pude hablar con Docker desde el shell de comandos de OSX.


Estoy usando OSX Yosemite y Cisco Anyconnect (que aparentemente son un mal combo para usar boot2docker) y finalmente funcionó para mí (gracias al comentario vinculado al problema de GitHub ):

Estos pasos agregarán una regla de reenvío de puerto y modificarán su entorno para que tenga un punto de 127.0.0.1 a 127.0.0.1 (en lugar de 192.168.59.103 u otra IP NATed).

Primero, boot2docker necesita ser instalado pero no ejecutándose.

Si se está ejecutando actualmente, deténgalo ahora:

boot2docker down

Agregue una regla para reenviar el tráfico de 127.0.0.1:2376 al puerto 2376 en boot2docker vm:

vboxmanage modifyvm "boot2docker-vm" --natpf1 "docker,tcp,127.0.0.1,2376,,2376"

Inicia boot2docker:

boot2docker up

Establecer variables de entorno DOCKER predeterminadas:

$(boot2docker shellinit)

DOCKER_HOST variable DOCKER_HOST para que apunte a 127.0.0.1 :

export DOCKER_HOST=tcp://127.0.0.1:2376

Ahora debería poder ejecutar los comandos de Docker:

docker version


Fue fácil para mí. Actualicé virtualbox y este problema desapareció.


He tenido este problema también y aquí hay una solución temporal.

Primero, abra la caja virtual y verifique la configuración de red en boot2docker vm para ver de qué se llama el adaptador de host only . En mi caso, es vboxnet1; para usted, puede ser vboxnet0.

Luego, aplica este comando:

sudo route -nv add -net 192.168.59 -interface vboxnet1

Ahora debería poder ejecutar los comandos de Docker.

Ver este problema para más información

editar : con el tiempo me doy cuenta de que un denominador común en este problema es cisco anyconnect (yo incluido), fwiw


Intenté el método treehau5 pero no funcionó. Cambié la configuración de la red de VirtualBox de la configuración de boot2docker vm - ''Modo promiscuo del adaptador de solo host'' a ''Permitir todo''


Ok, entonces esto también me pasó a mí.

En primer lugar, es necesario establecer las variables de entorno. Pero luego, seguí recibiendo el error de tiempo de espera de E / S incluso después de eso.

Entonces, en lugar de iniciar boot2docker ejecutando el paquete de la aplicación (haciendo clic en el ícono boot2docker), lo inicié desde la línea de comando.

Primero ejecuté,

$boot2docker init

Dicho esto, la máquina virtual ya se estaba ejecutando.

Luego seguí adelante y traté de iniciarlo.

$boot2docker start

Esto comenzó.

Puede verificarlo ejecutando

$boot2docker info

Imprime un JSON sobre su instancia en ejecución.

Entonces, puedes entrar y correr

$boot2docker ssh $docker run hello-world

Eso es. Espero eso ayude.


Tuve este problema después de ejecutar Cisco AnyConnect. Incluso después de apagar AnyConnect, el problema persistió. La respuesta de @ treehau5 funciona, pero lo que también funcionó para mí fue boot2docker poweroff y luego usar Activity Monitor, matar al ciscod dejado por AnyConnect. Luego abrí una nueva ventana de Terminal y comencé boot2docker normalmente y los comandos de Docker funcionaron bien.