virli/tutorial/docker-orchestration/setup.md

124 lines
4.1 KiB
Markdown

\newpage
Mise en place
=============
Durant le premier TP, nous avons installé l'environnement Docker principal, qui
inclut le client, le daemon et toute sa machinerie. Mais le projet Docker
propose de nombreuses autres ressources, souvent directement trouvée dans les
usages de la communauté, et parfois même approprié par Docker.
## `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 :
```shell
curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-Linux-x86_64 \
> /usr/bin/docker-machine
chmod +x /usr/bin/docker-machine
```
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 :
```
42sh$ docker-machine version
docker-machine version 0.12.2, build 9371605
```
## `docker-compose`
Pour ce TP, nous allons également avoir besoin de `docker-compose`.
Ce projet ne bénéficie pas d'une intégration au sein du projet Docker et doit
être téléchargé séparément, car originellement, le projet était développé par
une équipe indépendante[^fig]. Il constitue aujourd'hui une brique de
l'écosystème Docker, presque indispensable !
[^fig]: Le site du projet initial est toujours en ligne :
<https://www.fig.sh/>.
### Par le gestionnaire de paquets
Les distributions à jour vous proposeront un paquet `docker-compose` qui
fonctionnera avec la version de Docker qu'ils fournissent.
### Par la distribution binaire
L'équipe en charge de Docker compose met à disposition un exécutable contenant
tous les scripts. Nous pouvons l'installer en suivant la procédure suivante :
```shell
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-Linux-x86_64 \
> /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
```
### `pip`
Le projet étant écrit en Python, il est également disponible via `pip`, si vous
préférez cette méthode. N'oubliez pas de préciser une version compatible avec
votre version de Docker.
### Vérification du fonctionnement
Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
`docker-compose` en exécutant la commande :
```
42sh$ docker-compose --version
docker-compose version: 1.16.1
```
Si vous obtenez une réponse similaire, c'est que vous êtes prêt à commencer le
TP ! Alors n'attendons pas, partons à l'aventure !
## 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.