Split Docker tutorials into basis, orchestration and dockerfiles
This commit is contained in:
parent
2d364556a2
commit
2c48fa7942
36 changed files with 477 additions and 188 deletions
123
tutorial/docker-orchestration/setup.md
Normal file
123
tutorial/docker-orchestration/setup.md
Normal file
|
@ -0,0 +1,123 @@
|
|||
\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.
|
Loading…
Add table
Add a link
Reference in a new issue