\newpage

Mise en place
=============


## `docker-machine`

Pour ce TP, nous allons avoir besoin de `docker-machine`, installez-le sur
votre machine hôte, même si ce n'est pas un Linux : le but va être de lancer
plusieurs machines virtuelles Docker pour simuler un cluster.

Ce programme permet de simplifier la gestion du multiples environnements
Docker, comme par exemple lorsque l'on souhaite gérer un cluster de machines
pour un projet.

Ainsi, il est possible de provisionner et gérer des machines hôtes sur les
plates-formes de cloud habituelles. C'est également ce projet qui est à la base
de *Docker for Mac* et *Docker for Windows*, en permettant de lancer via,
respectivement, VirtualBox et Hyper-V, un environnement Linux prêt à être
utilisé avec Docker.

### Par la distribution binaire

L'équipe en charge de `docker-machine` met à disposition un exécutable compilé
pour bon nombres d'environnements. Nous pouvons l'installer en suivant la
procédure suivante :

<div lang="en-US">
```shell
    curl -L https://github.com/docker/machine/releases/download/v0.15.0/docker-machine-Linux-x86_64 \
        > /usr/bin/docker-machine
    chmod +x /usr/bin/docker-machine
```
</div>

Si vous êtes dans un environnement différent, jetez un œil à
[la documentation d'installation](https://docs.docker.com/machine/install-machine/).


### Support de KVM

Le programme support de base de nombreux environnement, dont VirtualBox et
Hyper-V. Bien d'autres environnements peuvent être supportés, au moyen de
plug-ins.

Si vous utilisez KVM comme hyperviseur, vous allez avoir besoin d'installer le
plugins
[`docker-machine-kvm`](https://github.com/dhiltgen/docker-machine-kvm). Vous
n'aurez qu'à suivre les instructions du
[`README`](https://github.com/dhiltgen/docker-machine-kvm/blob/master/README.md)
!


### Vérification du fonctionnement

Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
`docker-machine` en exécutant la commande :

<div lang="en-US">
```
    42sh$ docker-machine version
    docker-machine version 0.12.2, build 9371605
```
</div>


## Play With Docker

Tout comme pour le TP précédent, si vous avez des difficultés pour réaliser les
exercices sur vos machines, vous pouvez utiliser le projet
[Play With Docker](https://play-with-docker.com/) qui vous donnera accès à un
bac à sable avec lequel vous pourrez réaliser tous les exercices de ce TP.
