a948e6e3a2edb1da21016c5052ed4836b398c758
Services/Docker.md
... | ... | @@ -0,0 +1,92 @@ |
1 | +Docker au ResEl |
|
2 | +================ |
|
3 | + |
|
4 | +## Généralités |
|
5 | + |
|
6 | +[Docker](https://www.docker.com/) permet d'isoler des processus au sein d'un système hôte Linux. L'impact sur la performance est minimal grâce à l'utilisation des [control groups](https://en.wikipedia.org/wiki/Cgroups) du noyau Linux. |
|
7 | + |
|
8 | +### Terminologie |
|
9 | + |
|
10 | +* *Conteneur :* Ensemble de ressources (système de fichier, mémoire, réseau) associées à un ou des processus. |
|
11 | +* *Image :* Modèle d'un conteneur. Dans le cas de Docker, un système de fichier (`/etc`, `/var`, ...) compressé. |
|
12 | +* *Dockerfile :* Fichier décrivant comment construire une image de façon automatique. |
|
13 | +* *Registre :* Serveur (optionnel) contenant les images. |
|
14 | +* *Tag :* Identifiant d'une image. Généralement `_username/app_`, par exemple `resel-tb/web-proxy`. |
|
15 | + |
|
16 | +### Intérêt |
|
17 | + |
|
18 | +Les utilisations de Docker sont multiples mais un des aspects le plus intéréssant pour le ResEl est la p... *(??? La légende raconte qu'El touré voulait du Wi-Fi, ce qui a empêché cette malheureuse personne de finir sa phrase...)* |
|
19 | + |
|
20 | +## Lancer un conteneur |
|
21 | + |
|
22 | +Une image peut être récupérée sur un registre : |
|
23 | +``` |
|
24 | +docker pull jwilder/nginx-proxy |
|
25 | +``` |
|
26 | + |
|
27 | +Ou compilé en local depuis un Dockerfile : |
|
28 | +``` |
|
29 | +git clone https://github.com/jwilder/nginx-proxy.git |
|
30 | +docker build . --tag jwilder/nginx-proxy |
|
31 | +``` |
|
32 | + |
|
33 | + |
|
34 | + |
|
35 | +## Créer une image |
|
36 | + |
|
37 | +TODO |
|
38 | + |
|
39 | + |
|
40 | +## Utilisation du Registry Interne : mobydick |
|
41 | + |
|
42 | +Un registre docker interne au ResEl est disponible sur mobydick(.adm.resel.fr). Il permet de partager les images docker du ResEl sans utiliser le registre publique (hub.docker.com), et sans devoir rebuilder depuis les sources (Dockerfile) à chaque fois. |
|
43 | + |
|
44 | +Une fois qu’une image est testée/validée, elle peut-être pushé sur le registre. |
|
45 | +Par exemple si en local j’ai l’image : |
|
46 | + |
|
47 | +``` |
|
48 | +$docker ps |
|
49 | + |
|
50 | + […] |
|
51 | + resel/sympa:6.2 97cd19850580 |
|
52 | +``` |
|
53 | + |
|
54 | +Alors il faut associer l’image au dépôt : |
|
55 | +``` |
|
56 | +docker tag 97cd19850580 mobydick.adm.maisel.enst-bretagne.fr:5000/resel/sympa:6.2 |
|
57 | +``` |
|
58 | + |
|
59 | +Puis envoyer l’image : |
|
60 | +``` |
|
61 | +docker push mobydick.adm.maisel.enst-bretagne.fr:5000/resel/sympa:6.2 |
|
62 | +``` |
|
63 | + |
|
64 | +Maintenant l’image peut-être récupérée sur les autres machines : |
|
65 | +``` |
|
66 | +docker pull mobydick.adm.maisel.enst-bretagne.fr:5000/resel/sympa:6.2 |
|
67 | +``` |
|
68 | + |
|
69 | +Il n’y a pas encore de certificat SSL sur le registre, il faut donc que les démons docker sur les clients aient été configurés avec l’option --insecure-registry. C’est le cas du template debian8 sur proxmox. |
|
70 | +``` |
|
71 | +DOCKER_OPTS="--insecure-registry mobydick.adm.maisel.enst-bretagne.fr:5000” |
|
72 | +``` |
|
73 | + |
|
74 | +La liste des images (et pleins d’autres choses) peuvent-être obtenues via l’API rest : |
|
75 | +``` |
|
76 | +$ curl mobydick.adm.maisel.enst-bretagne.fr:5000/v2/_catalog |
|
77 | + {"repositories":["resel/sympa”]} |
|
78 | + ``` |
|
79 | + |
|
80 | + |
|
81 | +## Guides |
|
82 | + |
|
83 | +TODO |
|
84 | + |
|
85 | +## Ressources utiles |
|
86 | +TODO |
|
87 | + |
|
88 | +## Articles liés |
|
89 | +TODO |
|
90 | + |
|
91 | +## TODO (rédacteur) |
|
92 | +* TODO |
|
... | ... | \ No newline at end of file |