Outils pour utilisateurs

Outils du site


events:capitole-du-libre:2017:atelier-docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
events:capitole-du-libre:2017:atelier-docker [2017/11/20 15:08] yoannevents: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'environnement de travail ===== 
  
 Prérequis Prérequis
Ligne 49: Ligne 50:
 </file> </file>
  
-utilisateur dans le groupe docker 
 </note> </note>
  
Ligne 65: Ligne 65:
 </code> </code>
  
-pourquoi utiliser docker?+Pourquoi utiliser docker?
  
-pour certains projet 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.+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.
  
-virtualbox/vagrant coûte cher en ressources+La solution apportée par la virtualisation virtualbox/vagrant coûte bien plus cher en ressources système.
  
-===== tuto 1 =====+Les containers s’exécutent sur le même système d'exploitation. Ils sont isolés des autres applications et partagent les binaires, les bibliothèques lorsque c'est approprié. 
 + 
 +===== Tutoriel 1 ===== 
 + 
 +Tutoriel d'introduction de type "Hello World". On va exécuter un serveur web Flask avec une application minimale dans un container docker. Flask est un serveur web léger capable de servir des applications écrites en Python.
  
 Cloner le dépôt git: Cloner le dépôt git:
Ligne 77: Ligne 81:
 <code bash> <code bash>
 $ git clone https://github.com/augnustin/docker-local-tutorial $ git clone https://github.com/augnustin/docker-local-tutorial
 +
 +# Se placer dans le répertoire du tutoriel
 $ cd docker-local-tutorial/tutorial/1-boilerplate $ cd docker-local-tutorial/tutorial/1-boilerplate
 </code> </code>
Ligne 89: Ligne 95:
 </file> </file>
  
-docker container isole les processus mais réutilise, les libs et binaires du système quand c'est possible.+La commande suivante utilise docker-compose pour démarrer le processus en environnement cloisonné:
  
-  * dockerfile FROM, RUN, COPY fichier des commandes pour mettre en etat l'environnement +<code bash> 
-  docker-compose.yml +docker-compose run --rm --service-ports app /bin/bash 
-  * docker+</code>
  
-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 
 </code> </code>
  
-terminal, container comme une VM+La portée de  ces commandes est limitée au container docker. L'installation des paquets n'a lieu que dans le containerle système n'est pas modifié. 
 + 
 +Maintenant que le serveur Flask est installer dans le container on peut lui faire servir notre application présente dans le dossier courant: 
 + 
 +<code bash> 
 +FLASK_APP=hello.py flask run 
 +</code> 
 + 
 +Le serveur Flask s'execute à présent, pour vérifier le fonctionnement du service ouvrir un navigateur a l'URL suivante http://localhost:5000/ 
 + 
 + 
 +===== 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: 
 + 
 +<file> 
 +FROM ubuntu:saucy 
 +</file> 
 + 
 +Dans l'exemple ci-dessus l'image à utiliser est dans le **dépot** officiel **ubuntu**, elle a le **tag saucy**. 
 + 
 +===== 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: 
 +<file> 
 +app: 
 +  build: . 
 +  volumes: 
 +    - .:/app 
 +  ports: 
 +    - "5000:5000" 
 +</file> 
 + 
 +Dans cet exemple: 
 +  * ''app'' est le nom de l'application, 
 +  * ''build: .'' permet de construire l'instance docker via le Dokerfile dans le répertoire courant 
 +  * ''volumes'' liste des mappages. Le dossier courant sera monté sur le dossier /app de l'instance. 
 +  * ''ports'' NAT des ports. Le port 5000 de l’hôte est redirigé sur le port 5000 de l'instance. 
 + 
 + 
 +  * dockerfile FROM, RUN, COPY fichier des commandes pour mettre en état l'environnement 
 +  * docker-compose.yml 
 +  * docker 
 + 
  
 docker-compose fichier yaml docker-compose fichier yaml
events/capitole-du-libre/2017/atelier-docker.1511190481.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)