Como acabo de actualizar Docker a 1.1.0, obtengo:
Respuesta de error del demonio: el cliente y el servidor no tienen la misma versión (cliente: 1.13, servidor: 1.12)
¿Sabes cómo arreglar ésto?
Cambié de nuevo a 1.0.1 y todo funciona de nuevo.
Como acabo de actualizar Docker a 1.1.0, obtengo:
Respuesta de error del demonio: el cliente y el servidor no tienen la misma versión (cliente: 1.13, servidor: 1.12)
¿Sabes cómo arreglar ésto?
Cambié de nuevo a 1.0.1 y todo funciona de nuevo.
boot2docker
problema (para referencia futura).
Respuestas:
Parece que necesita actualizar la máquina virtual después de instalar boot2docker:
Si está actualizando desde boot2docker 0.12 o posterior, puede actualizar su máquina virtual existente (después de actualizar usando el instalador) usando boot2docker stop && boot2docker download && boot2docker up - y no perderá sus datos existentes.
( https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0 )
An error occurred trying to connect: Get https://192.168.59.103:2376/v1.19/containers/json?all=1: x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
: /
boot2docker delete
, luego boot2docker init
y empezó a funcionar.
Esto puede suceder si ha actualizado Docker, pero el servicio no se ha reiniciado. Luego, intentará conectarse al demonio de Docker con el cliente actualizado, mientras que el demonio (que ya se estaba ejecutando antes de la actualización) todavía ejecuta la versión anterior.
Para solucionar este problema, reinicie el servicio:
sysV init:
service docker restart
systemd:
systemctl daemon-reload
systemctl restart docker
systemd
lo que se recomienda hacer systemctl daemon-reload
antessystemctl restart docker
En caso de que utilice docker-machine
para administrar máquinas locales basadas en VirtualBox, la solución es tan simple como para boot2docker:
docker-machine upgrade MACHINE_NAME
Solicita docker-machine
descargar la última versión boot2docker.iso
y colocarla como un nuevo sistema de archivos raíz en la máquina virtual actualizada.
Por cierto, la máquina acoplable respaldada por VirtualBox tiene su sistema de archivos raíz de solo lectura. Eso significa que no es posible que ninguna actualización manual sobreviva al reinicio de la máquina. Eso fue una sorpresa para mi.
Tenía la última versión de boot2docker, docker y virtual box, pero seguía recibiendo este mensaje. Parece que correr brew upgrade boot2docker
no es la mejor idea. Al ejecutar boot2docker upgrade
, se me pidió que estableciera un montón de variables de entorno y luego funcionó para mí.
Boot2docker me pidió que configurara estos (ver las últimas líneas):
$ boot2docker upgrade
Latest release for boot2docker/boot2docker is v1.3.0
Downloading boot2docker ISO image...
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.0/boot2docker.iso
to /Users/.../.boot2docker/boot2docker.iso
Waiting for VM and Docker daemon to start...
.........oooooooooooooo
Started.
Writing /Users/.../.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/key.pem
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/.../.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
Es posible cortar y pegar esas tres líneas de una vez en su terminal.
Para comprobar que son correctos:
$ env
Estaba tratando de consultar un servidor Docker con un cliente más reciente:
La solución para mí fue simplemente:
export DOCKER_API_VERSION=1.21
Referencia: https://docs.docker.com/engine/reference/commandline/cli/
La respuesta correcta aquí es muy antigua (Docker cambió el nombre de boot2docker a Docker Machine y le agregó algunas funciones más) .
De todos modos me enfrenté al mismo problema y me tomó unos 3 días solucionarlo :(
Esta es la solucion
1) encuentre la ubicación del boot2docker.iso
sudo find ~/ -name 'boot2docker.iso'
2) eliminar el boot2docker.iso
archivo, después de realizar una copia de seguridad del mismo
/Users/{user}/.docker/machine/cache/boot2docker.iso
3) elimina tu docker vm
docker-machine rm {default}
esto debería eliminar eso también:
/Users/{user}/.docker/machine/machines/default/boot2docker.iso
4) crea una nueva máquina virtual docker
docker-machine create --driver virtualbox default
esto descargará uno nuevo boot2docker.iso
primero y luego lo usará para crear su vm.
Ahora esto debería solucionarlo :)
Si recibe algún error aquí como:
Running pre-create checks...
(mega-docker) No default Boot2Docker ISO found locally, downloading the latest release...
Error with pre-create check: "Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: dial tcp: lookup api.github.com on 192.168.0.1:53: read udp 192.168.0.103:53947->192.168.0.1:53: i/o timeout"
intente descargar el boot2docker.iso
archivo manualmente yendo a https://api.github.com/repos/boot2docker/boot2docker/releases/latest, luego haga clic en html_url
y finalmente elija descargar el archivo.
una vez que obtenga el archivo, vaya y colóquelo manualmente en /Users/{user}/.docker/machine/cache/
finalmente vuelva a ejecutar este comando docker-machine create --driver virtualbox default
Esto funcionó para mí: simplemente apaga la máquina virtual, la borra, la recrea y la vuelve a iniciar. Vuelve a ejecutar shellinit para que sus variables ENV se configuren con la dirección IP correcta cuando vuelva a funcionar.
$ boot2docker poweroff && \
boot2docker delete && \
boot2docker init && \
boot2docker up
$ eval `boot2docker shellinit`
Mi solución fue cerrar> Apagar en la ventana acoplable VM en VirtualBox y luego reiniciar Kitematic. Esto me lo arregló.
Si vino allí por Ansible y no por boot2docker, aquí está la solución: use el docker_api_version: auto
argumento
- name: Mongo data container
docker:
docker_api_version: auto
name: mongo-primary-dc
image: debian:wheezy
state: present
volumes:
- /data
Supongo que la razón es que el módulo docker-py utilizado por Ansible a menudo no es de la misma versión que el repositorio apt-get de Ubuntu.
boot2docker
. ¿Ese también es tu caso?