docker-machine para embarcar tus contenedores donde quieras

Captura del Puzzle Docker para Android de dockerapps

Imágen del Puzzle Docker para Android de dockerapps

Hacía tiempo, como dos meses, que no me soprendía con “magia informática” ya que acabo de ver docker-machine (sí, dos meses es bastante tiempo en informática, como para empezar a notar óxido intelectual).

Venía utilizando boot2docker para levantar una máquina virtual porta-contenedores que me permitía embarcar en ella mis docker; pero en la última actualización me avisa que es un comando ‘deprecated‘ y me refiere a docker-machine.

Luego de instalarlo (brew install docker-machine) me doy cuenta la notoria evolución que representa docker-machine: permite levantar una instancia/máquina-virtual porta-contenedores en mi notebook (virtualizando con virtualbox o vmware), en una nube (amazon, azure, digitalocean, google, rackspace, openstack, softlayer, etc) o en mi datacenter (openstack, vmwarevsphere), y, a partir de ahí, puedo empezar a embarcar mis contenedores.

El proceso es bien simple:

1. Crear porta-contenedores

Comando para VirtualBox local de nombre ‘vbdev

$ docker-machine create -d virtualbox \
        --virtualbox-memory "5120" \
        vbdev

Comando para DigitalOcean para un ‘droplet‘ en Amsterdam de 1GB ram de nombre ‘dodev

$ docker-machine create --driver digitalocean \
	--digitalocean-access-token "6d0c7..a0bfa" \ 
	--digitalocean-image "ubuntu-14-04-x64" \
	--digitalocean-region "ams1" \
	--digitalocean-size "1gb" \
	dodev

Para hacer esto, docker-machine crea certificados OpenSSH, se valida contra el sistema de cloud o virtualización, provisiona la instancia de acuerdo a la configuración solicitada y registra los accesos.

2. Activar el entorno del porta-contenedores que se va a utilizar

Por ejemplo, el entorno del porta-contenedor en DigitalOcean

$ eval "$(docker-machine env dodev)"

que permitirá a docker hacer las conexiones para administrar los contenedores.

3. Comenzar a embarcar los contenedores de forma acostumbrada

$ docker run hello-world

Como es de esperarse, docker-machine permite toda la administración de nuestro porta-contenedores donde quiera que esté, es decir, iniciarlo, detenerlo, borrarlo, reiniciarlo, obtener su configuración, actualizarlo, etc.

También acceder al porta-contenedor

$ docker-machine ssh dodev

y obtener la lista de todos nuestros porta-contenedores y su estado actual:

$ docker-machine ls
NAME    ACTIVE   DRIVER         STATE     URL                         SWARM
dev              virtualbox     Stopped                               
dodev            digitalocean   Timeout                               
vbdev            virtualbox     Running   tcp://192.168.99.100:2376   

Paso siguiente: docker-compose para instalaciones multi-contenedor.

Leave a Reply

  

  

  

Anti-Spam by WP-SpamShield