Docker 1.10 ya está disponible. 
Lea sobre todos los nuevas funciones de Docker 1.10. Un resumen rápido:
- Nuevo formato de archivo Compose
- Una red mucho mejor
- Mucha más seguridad
- Swarm se convierte en 1.1, con integración de Mesos
Leer Notas de la versión 1.10 de Docker. Veamos algunos de los componentes clave.
Máquina Docker 0.6.0
Docker Machine hace que sea realmente fácil crear hosts Docker en tu ordenador, en proveedores en la nube y dentro de tu propio centro de datos. Crea servidores, instala Docker en ellos, y luego configura el cliente Docker para hablar con ellos. La última versión se puede instalar como:
|
1 2 3 4 5 6 7 8 |
~> curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && ~> chmod +x /usr/local/bin/docker-machine % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 601 0 601 0 0 362 0 --:--:-- 0:00:01 --:--:-- 362 100 36.6M 100 36.6M 0 0 2822k 0 0:00:13 0:00:13 --:--:-- 4899k ~ > docker-machine version docker-machine version 0.6.0, build e27fb87 |
docker-machine ahora muestra la versión del servidor Docker:
|
1 2 3 4 |
~ > docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS couchbase - virtualbox Running tcp://192.168.99.100:2376 v1.9.1 netbeans - virtualbox Saved Unknown |
La última versión del servidor es la 1.10. Y así actualización docker para solucionarlo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
~ > docker-machine upgrade couchbase Waiting for SSH to be available... Detecting the provisioner... Upgrading docker... Stopping machine to do the upgrade... Upgrading machine "couchbase"... Default Boot2Docker ISO is out-of-date, downloading the latest release... Latest release for github.com/boot2docker/boot2docker is v1.10.0 Downloading /Users/arungupta/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.10.0/boot2docker.iso... 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100% Copying /Users/arungupta/.docker/machine/cache/boot2docker.iso to /Users/arungupta/.docker/machine/machines/couchbase/boot2docker.iso... Starting machine back up... (couchbase) Check network to re-create if needed... (couchbase) Waiting for an IP... Restarting docker... |
La lista actualizada de Máquinas se muestra ahora como:
|
1 2 3 4 |
~ > docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS couchbase - virtualbox Running tcp://192.168.99.100:2376 v1.10.0 netbeans - virtualbox Saved Unknown |
Observe que la versión de Docker es ahora 1.10. Configure las variables de entorno para que el cliente Docker pueda comunicarse con él:
|
1 |
eval $(docker-machine env couchbase) |
Cliente Docker 1.10
Descarguemos el último cliente para conectarnos a este motor Docker.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
> curl https://get.docker.com/builds/Darwin/x86_64/docker-latest > /usr/local/bin/docker % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10.0M 100 10.0M 0 0 3836k 0 0:00:02 0:00:02 --:--:-- 3836k > docker version Client: Version: 1.10.0 API version: 1.22 Go version: go1.5.3 Git commit: 590d5108 Built: Thu Feb 4 19:55:25 2016 OS/Arch: darwin/amd64 Server: Version: 1.10.0 API version: 1.22 Go version: go1.5.3 Git commit: 590d5108 Built: Thu Feb 4 19:55:25 2016 OS/Arch: linux/amd64 |
Las versiones Cliente y Servidor se muestran por separado. Ejecute el contenedor Couchbase como:
|
1 2 |
~ > docker run -d -p 8091-8093:8091-8093 -p 11210:11210 arungupta/couchbase-node 4783d72298d1f27255f12cf765ed1121c7656d09a866bc350354e38787627a79 |
Esto inicia un servidor Couchbase totalmente configurado. Se puede acceder a él en 192.168.99.100:8091 y tiene el aspecto que se muestra: 
Nota, 192.168.99.100 se obtiene utilizando docker-máquina ip . Portal para desarrolladores de Couchbase proporcionan más detalles sobre el Servidor Couchbase.
Docker Compose 1.6.0
Docker Compose es una herramienta para definir y ejecutar aplicaciones complejas con Docker. Con Compose, puede definir una aplicación multicontenedor en un único archivo y, a continuación, poner en marcha su aplicación con un único comando que hace todo lo necesario para que se ejecute. Más información Docker Compose 1.6.0. Instale la última versión:
|
1 2 3 4 5 6 7 |
curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 601 0 601 0 0 1067 0 --:--:-- --:--:-- --:--:-- 1065 100 4837k 100 4837k 0 0 945k 0 0:00:05 0:00:05 --:--:-- 1426k chmod +x /usr/local/bin/docker-compose |
Las banderas experimentales --x-redes y --x-network-driverintroducidas en Compose 1.5, han sido eliminadas. Ya no es experimental y es la forma recomendada de permitir la comunicación entre contenedores. Compose 1.6.0 requiere Docker Engine 1.9.1 o posterior, o 1.10.0 si utiliza la versión 2 del formato de archivo Compose.
Actualización del archivo de composición
Compose 1.6 introduce una nueva versión del archivo Compose. Más información Actualización del archivo Compose. Compose 1.6 seguirá ejecutando archivos de versiones anteriores de Compose. Pero ahora las redes y los volúmenes son ciudadanos de primera clase. He aquí un ejemplo de la versión 1 del archivo Compose:
|
1 2 3 4 5 6 7 |
mycouchbase: image: arungupta/couchbase-node ports: - 8091:8091 - 8092:8092 - 8093:8093 - 11210:11210 |
Aquí está la versión 2 del archivo Compose:
|
1 2 3 4 5 6 7 8 9 |
version: "2" services: mycouchbase: image: arungupta/couchbase ports: - 8091:8091 - 8092:8092 - 8093:8093 - 11210:11210 |
Para casos de uso sencillos, los dos cambios principales son:
- Añadir un
versión: "2al principio del archivo. - Haga una sangría de un nivel en todo el archivo y ponga un
servicios:en la parte superior.
Ejecutar los servicios en este archivo Compose es:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
~ > docker-compose up -d Creating network "couchbase_default" with the default driver Pulling mycouchbase (arungupta/couchbase:latest)... latest: Pulling from arungupta/couchbase a50d2b3f7efa: Already exists 27e1b0c788a2: Already exists 622b8fa00f81: Already exists a3ed95caeb02: Pull complete 0bc56fd185bd: Already exists 10f0979b6cbd: Already exists 9be3d8460ed2: Already exists 59e718ec07e9: Already exists a0b9aa29408d: Already exists e2717fa0b388: Pull complete Digest: sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f Status: Downloaded newer image for arungupta/couchbase:latest Creating couchbase_mycouchbase_1 |
Esto inicia un servidor Couchbase completamente configurado basado en la imagen como se explica en github.com/arun-gupta/docker-images/tree/master/couchbase-node.
Enjambre Docker 1.1
Enjambre Docker es una agrupación nativa para Docker. Le permite crear y acceder a un grupo de hosts Docker utilizando el conjunto completo de herramientas Docker. Debido a que Docker Swarm sirve a la API estándar de Docker, cualquier herramienta que ya se comunica con un demonio Docker puede utilizar Swarm para escalar de forma transparente a múltiples hosts. Se añade un nuevo soporte experimental para la reprogramación de contenedores en caso de fallo de nodo. Más información sobre la configuración de Clúster Docker Swarm. Por último, he aquí algunos enlaces útiles:
- Caja de herramientas Docker 1.10
- Notas de la versión de Docker 1.10
- Mejoras de seguridad en Docker 1.10
- Docker para desarrolladores Java
¡Que aproveche!