Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| events:capitole-du-libre:2017:atelier-docker [2017/11/22 15:10] – yoann | events:capitole-du-libre:2017:atelier-docker [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 10: | Ligne 10: | ||
| - | ===== Installation de docker | + | ===== Installation de L' |
| Prérequis | Prérequis | ||
| Ligne 66: | Ligne 67: | ||
| Pourquoi utiliser docker? | Pourquoi utiliser docker? | ||
| - | pour certains projets vous aurez besoin de versions spécifiques des BD, des framework, et si vous travaillez sur plusieurs projets vous rencontrerez rapidement des problèmes de compatibilité entre les différentes versions des bibliothèques installées dans votre environnement de développement. | + | Pour certains projets vous aurez besoin de versions spécifiques des BD, des framework, et si vous travaillez sur plusieurs projets vous rencontrerez rapidement des problèmes de compatibilité entre les différentes versions des bibliothèques installées dans votre environnement de développement. |
| La solution apportée par la virtualisation virtualbox/ | La solution apportée par la virtualisation virtualbox/ | ||
| Ligne 72: | Ligne 73: | ||
| Les containers s’exécutent sur le même système d' | Les containers s’exécutent sur le même système d' | ||
| - | ===== tuto 1 ===== | + | ===== Tutoriel |
| - | On va exécuter un serveur web Flask dans un container docker. Flask est un serveur web léger capable de servir des applications écrites en Python. | + | Tutoriel d' |
| Cloner le dépôt git: | Cloner le dépôt git: | ||
| Ligne 80: | Ligne 81: | ||
| <code bash> | <code bash> | ||
| $ git clone https:// | $ git clone https:// | ||
| + | |||
| + | # Se placer dans le répertoire du tutoriel | ||
| $ cd docker-local-tutorial/ | $ cd docker-local-tutorial/ | ||
| </ | </ | ||
| Ligne 92: | Ligne 95: | ||
| </ | </ | ||
| - | docker | + | La commande suivante utilise |
| - | * dockerfile FROM, RUN, COPY fichier des commandes pour mettre en etat l' | + | <code bash> |
| - | | + | $ docker-compose |
| - | * docker | + | </ |
| - | pour l'atelier | + | Le prompt a changé, les commandes suivantes seront exécutes dans l'instance docker: |
| <code bash> | <code bash> | ||
| - | $ | + | # Installation de pip le gestionaire de paquets python |
| + | apt-get update && apt-get install python-pip | ||
| + | |||
| + | # Installation du serveur web Flask | ||
| + | pip install Flask | ||
| </ | </ | ||
| - | terminal, container | + | La portée de ces commandes est limitée au container docker. L' |
| + | |||
| + | Maintenant que le serveur Flask est installer dans le container | ||
| + | |||
| + | <code bash> | ||
| + | FLASK_APP=hello.py flask run | ||
| + | </ | ||
| + | |||
| + | Le serveur Flask s' | ||
| + | |||
| + | |||
| + | ===== Fonctionnement ===== | ||
| + | |||
| + | A propos des principaux fichier de configuration | ||
| + | |||
| + | ==== Le Dockerfile ==== | ||
| + | |||
| + | Ici le Dokerfile présente sa version la plus épurée. Il contient la référence du fichier image à utiliser: | ||
| + | |||
| + | < | ||
| + | FROM ubuntu: | ||
| + | </ | ||
| + | |||
| + | Dans l' | ||
| + | |||
| + | ===== docker-compose.yml ==== | ||
| + | |||
| + | docker-compose est un utilitaire permettant de paramétrer plus simplement les instances docker à l'aide de fichier texte utilisant la syntaxe **YAML**. | ||
| + | |||
| + | Le fichier pour le tutoriel se présente ainsi: | ||
| + | < | ||
| + | app: | ||
| + | build: . | ||
| + | volumes: | ||
| + | - .:/app | ||
| + | ports: | ||
| + | - " | ||
| + | </ | ||
| + | |||
| + | Dans cet exemple: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | * dockerfile FROM, RUN, COPY fichier des commandes pour mettre en état l' | ||
| + | * docker-compose.yml | ||
| + | * docker | ||
| + | |||
| docker-compose fichier yaml | docker-compose fichier yaml | ||