Docker-machine

Introduction

Nous allons voir docker-machine. Docker-machine permet de simplifier l’installation/gestion/déploiement de Docker.

Installation

Tout d’abord il faut connaitre votre architecture x86_64ou i386.

La commande classique est uname -a.

Puis télécharger l’exécutable via curl

Sous linux.

1
2
curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > docker-machine
sudo mv docker-machine /usr/local/bin/docker-machine

Puis le marquer comme exécutable.

1
sudo chmod +x /usr/local/bin/docker-machine

Testons notre application.

1
docker-machine -v

Enfin vous avez besoin d’avoir Virtual-Box

Mise en route.

Voici la commande pour tout lancer

1
docker-machine create --driver virtualbox dev

Cette ligne demande à docker-machine de créer une environnement que l’on appelle dev qui sera sur Virtual-box. docker-machine va télécharger une iso (boot2docker) contenant docker. Et lancer Virtualbox.

Jusqu’à maintenant on avait installé docker sur notre ordi local. Ici on installe docker sur une VM. Toutes les commandes seront passer de manière transparente à la machine virtuelle. L’avantage de cette méthode est que tout le monde utilise la même iso virtuelle (boot2docker). Il n’y a moins le risque du “chez moi ça marche” qui est une remarque au combien rageante.

Je veux travailler sur mon environnement de dev

1
eval "$(docker-machine env dev)"

Toutes mes commandes sont directement envoyées sur la vm à distance

1
docker run busybox echo hello

Je peux rajouter un environnement (ici prod)

1
docker-machine create --driver amazon prod --les options qui vont bien..

Il suffit de changer l’environnement pour automatiquement déployer sur Amazon.

1
eval "$(docker-machine env prod)"

Plein de drivers sont fournis:

L’avantage de docker-machine

  • Simplifie l’installation. il n’y a que docker-machine à installer. Arès docker-machine s’occupe de tout installer. (il installe docker sur un vm/instance)
  • Simplifie le déploiement, il suffit de changer l’environnement
  • Enfin il s’interface avec docker-swarm (qui permet de gérer plusieurs nodes de Dockers).

En conclusion

Le slogan “a way to get from zero to Docker” est plutôt juste.

  • Cela simplifie beaucoup l’installation sous windows (pas testé :-)).
  • Et harmonise les environnements de dev (tout le monde utilise la même iso)
  • Facilite le déploiement. Il n’y a pas a se soucier si c’est du Amazon/OpenStack/Azure..

Dans un prochain post nous allons essayer de voir docker-swarm.