d6703db1f598555192a0737b08990a8d5d8243f2
Services/Docker.md
... | ... | @@ -1,4 +1,4 @@ |
1 | ---- title: Docker au ResEl |
|
1 | +<!-- --- title: Docker au ResEl--> |
|
2 | 2 | |
3 | 3 | # Généralités |
4 | 4 | |
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | déploiement de containers. Ceci permet d'isoler des processus au sein d'un |
7 | 7 | système hôte Linux. Au ResEl nous nous servons de Docker pour quelques services, |
8 | 8 | ce qui permet de les tester facilement et de les déployer facilement sur les |
9 | -différentes marchines. |
|
9 | +différentes machines. |
|
10 | 10 | |
11 | 11 | Un registre docker interne au ResEl est disponible sur |
12 | 12 | [Mobydick](Serveurs/mobydick). Il permet de partager les images docker du ResEl |
... | ... | @@ -15,7 +15,7 @@ depuis les sources (Dockerfile) à chaque fois. |
15 | 15 | |
16 | 16 | # Motivations |
17 | 17 | |
18 | -Docker a commencé à être installé fin 2015 au ResEl pour notament isoler les |
|
18 | +Docker a commencé à être installé fin 2015 au ResEl pour notamment isoler les |
|
19 | 19 | services présents sur [Pégase](/Serveurs/Pegase). Après une longue période vide, |
20 | 20 | le service a été amélioré afin de simplifier les tests des différents services. |
21 | 21 | D'abord pour le [site ResEl](https://git.resel.fr/resel/myresel) ensuite pour |
... | ... | @@ -39,22 +39,22 @@ officiel](https://docs.docker.com/engine/reference/glossary/). |
39 | 39 | automatique. |
40 | 40 | * *Registre :* Serveur (optionnel) contenant les images. docker.resel.fr chez |
41 | 41 | nous. |
42 | -* *Hôte* : marchine hébergeant un ou plusieurs containers |
|
43 | -* *Tag :* Identifiant d'une image. Généralement `registre/sercice:version`, par |
|
42 | +* *Hôte* : machine hébergeant un ou plusieurs containers |
|
43 | +* *Tag :* Identifiant d'une image. Généralement `registre/service:version`, par |
|
44 | 44 | exemple `docker.resel.fr/myresel:latext`. |
45 | 45 | |
46 | 46 | |
47 | 47 | # Mise en place |
48 | 48 | |
49 | 49 | ## Hôte Docker |
50 | -La mise en place d'un hote Docker sur n'importe quelle machine est très simple. |
|
51 | -La méthode recommandée est d'utiliser le [playbook Ansible associé](https://git.resel.fr/confs/ansible/blob/master/playbooks/docker-host.yml) |
|
50 | +La mise en place d'un hôte Docker sur n'importe quelle machine est très simple. |
|
51 | +La méthode recommandée est d'utiliser le [Playbook Ansible associé](https://git.resel.fr/confs/ansible/blob/master/playbooks/docker-host.yml) |
|
52 | 52 | |
53 | -Voici cepedant la méthode manuelle suivant la [documentation |
|
53 | +Voici cependant la méthode manuelle suivant la [documentation |
|
54 | 54 | officielle](https://docs.docker.com/engine/installation/linux/debian/) avec |
55 | 55 | quelques spécificités pour le ResEl : |
56 | 56 | |
57 | -Installez les dépendances nécéssaires : |
|
57 | +Installez les dépendances nécessaires : |
|
58 | 58 | ```bash |
59 | 59 | sudo apt-get install \ |
60 | 60 | apt-transport-https \ |
... | ... | @@ -100,8 +100,6 @@ Vérifiez que Docker fonctionne correctement avec la commande suivante : |
100 | 100 | sudo docker run hello-world |
101 | 101 | ``` |
102 | 102 | |
103 | -Vous pouvez ensuite utiliser docker "normalement". |
|
104 | - |
|
105 | 103 | Pour utiliser le registre du ResEl (mobydick) vous devez faire un peu plus de |
106 | 104 | configuration. En effet celui-ci n'est pas accessible au public et il faut donc |
107 | 105 | s'y authentifier. |
... | ... | @@ -164,8 +162,6 @@ On notera que le volume contenant les données du registre est le dossier |
164 | 162 | `nginx/` qui contient la configuration nginx (par exemple pour |
165 | 163 | l'authentification). |
166 | 164 | |
167 | - |
|
168 | - |
|
169 | 165 | Pour installer/démarrer le service rien de plus simple : |
170 | 166 | |
171 | 167 | 1. Installez le moteur Docker comme détaillé plus haut |
... | ... | @@ -201,7 +197,7 @@ docker build . --tag docker.resel.fr/nginx-proxy:latest |
201 | 197 | |
202 | 198 | ## Relancer le registre Docker |
203 | 199 | |
204 | -Il arrive que le registre s'etteigne (pendant les mises à jour par exemple). |
|
200 | +Il arrive que le registre s’etteigne (pendant les mises à jour par exemple). |
|
205 | 201 | Voici la procédure pour le relancer : |
206 | 202 | |
207 | 203 | ```bash |
... | ... | @@ -211,7 +207,7 @@ docker-compose up -d |
211 | 207 | |
212 | 208 | ## Créer une nouvelle image |
213 | 209 | |
214 | -Créez un nouveau dossier qui contiendra tous les fichiers relatifs à l'image |
|
210 | +Créez un nouveau dossier qui contiendra tous les fichiers relatifs à l'image : |
|
215 | 211 | ```bash |
216 | 212 | mkdir wifi && cd wifi |
217 | 213 | ``` |
... | ... | @@ -223,10 +219,10 @@ FROM docker.resel.fr/debian:latest |
223 | 219 | RUN apt-get -qq upgrade && apt-get -qq install wifi |
224 | 220 | ``` |
225 | 221 | |
226 | -Vous pouvez trouver toute la specification du fichier Dockerfile sur la |
|
222 | +Vous pouvez trouver toute la spécification du fichier Dockerfile sur la |
|
227 | 223 | [documentation officielle](https://docs.docker.com/engine/reference/builder/) |
228 | 224 | |
229 | -Vous pouvez ensuite construire l'image et la pusher sur le registre: |
|
225 | +Vous pouvez ensuite construire l'image et la pusher sur le registre : |
|
230 | 226 | ```bash |
231 | 227 | docker build -r docker.resel.fr/wifi:latest . |
232 | 228 | docker push docker.resel.fr/wifi:latest |
... | ... | @@ -235,35 +231,6 @@ docker push docker.resel.fr/wifi:latest |
235 | 231 | :notebook: N'oubliez pas de [versionner la |
236 | 232 | configuration](https://git.resel.fr/docker) |
237 | 233 | |
238 | - |
|
239 | -## Utilisation du Registry Interne : mobydick |
|
240 | - |
|
241 | - |
|
242 | -Une fois qu’une image est testée/validée, elle peut-être pushé sur le registre. |
|
243 | -Par exemple si en local j’ai l’image : |
|
244 | - |
|
245 | -```bash |
|
246 | -docker ps |
|
247 | - |
|
248 | - […] |
|
249 | - resel/sympa:6.2 97cd19850580 |
|
250 | -``` |
|
251 | - |
|
252 | -Alors il faut associer l’image au dépôt : |
|
253 | -```bash |
|
254 | -docker tag 97cd19850580 docker.resel.fr/sympa:6.2 |
|
255 | -``` |
|
256 | - |
|
257 | -Puis envoyer l’image : |
|
258 | -```bash |
|
259 | -docker push docker.resel.fr/sympa:6.2 |
|
260 | -``` |
|
261 | - |
|
262 | -Maintenant l’image peut-être récupérée sur les autres machines : |
|
263 | -```bash |
|
264 | -docker pull docker.resel.fr/sympa:6.2 |
|
265 | -``` |
|
266 | - |
|
267 | 234 | # Ressources utiles |
268 | 235 | * [Site officiel](https://www.docker.com/) |
269 | 236 | * [Images ResEL](https://git.resel.fr/dockers/) |