Introduction à Docker et Gaudi

29
@manuquentin marmelab #AperoWebNancy

description

Slides de c

Transcript of Introduction à Docker et Gaudi

Page 1: Introduction à Docker et Gaudi

@manuquentinmarmelab

#AperoWebNancy

Page 2: Introduction à Docker et Gaudi

#EntenduANancy

« C’est quoi la version de Postgres à installer ? »

« Ah non moi j’ai pas ça chez moi »

« Pourtant ça marchait en preprod »

« C’est quoi la commande pour installer redis sur Fedora ? »

« Je comprends pas, mon apache il tourne plus » !!!!!

Page 3: Introduction à Docker et Gaudi

Problème dans l’industrie du transport Comment transporter différents type de produits ?

Page 4: Introduction à Docker et Gaudi

La solution Les containers !

Page 5: Introduction à Docker et Gaudi

Problème dans le domaine de l’IT Comment faire cohabiter différentes applications ?

Page 6: Introduction à Docker et Gaudi

La solution Les containers ! (encore)

Page 7: Introduction à Docker et Gaudi

Installation

Page 8: Introduction à Docker et Gaudi

Démarrer un container

Page 9: Introduction à Docker et Gaudi

Structure d’un container

Page 10: Introduction à Docker et Gaudi

AuFS

Page 11: Introduction à Docker et Gaudi

Création d’un premier container

Deux choix :

1. Lancer un container vide et commiter les changements

Problème: rend l’installation obscure

2. Créer un container depuis un DockerFile

Avantage: un seul fichier référence toutes les opérations à jouer

Page 12: Introduction à Docker et Gaudi

Commiter un container

Page 13: Introduction à Docker et Gaudi

Dockerfile

!

• Définit une image de base !

• Une suite d’instructions à jouer !

• Des fichiers à ajouter !

• Des ports à exposer !

• Une commande à lancer

Page 14: Introduction à Docker et Gaudi

Back to the future

Page 15: Introduction à Docker et Gaudi

Exemple : un compteur de visite revisité

!

• Une application NodeJS

• Un serveur Redis stockant le nombre de visites sur la homepage

Page 16: Introduction à Docker et Gaudi

Dockerfile - nodejs

Page 17: Introduction à Docker et Gaudi

Docker : options de lancement

Page 18: Introduction à Docker et Gaudi

Index

Page 19: Introduction à Docker et Gaudi

Lancer un container en utilisant l’index

Page 20: Introduction à Docker et Gaudi

Lier les containers

Page 21: Introduction à Docker et Gaudi

Variables d’environnement après liaison

Page 22: Introduction à Docker et Gaudi

Serveur NodeJS

Page 23: Introduction à Docker et Gaudi

Commandes utiles

!

• docker ps [-a]

• docker images

• docker kill [identifiant / nom]

• docker logs [identifiant / nom]

• docker inspect [identifiant / nom]

Page 24: Introduction à Docker et Gaudi

Docker - débrief

!

• Contraignant (lancer les containers dans l’ordre)

• Obligation de rebuilder après chaque modification dans un Dockerfile

• Peut être optimisé (lancer des containers en //)

• Script (différent pour chaque projet) difficile à mettre en place

Page 25: Introduction à Docker et Gaudi

Gaudi

!

• Problématique : Installation des composants logiciels

• Outil d’orchestration simple: permet de lancer des containers et les lier entre eux.

• Go : asynchrone grâce aux go-routines et typage fort

Page 26: Introduction à Docker et Gaudi

Gaudi : configuration

Page 27: Introduction à Docker et Gaudi

Gaudi : lancement

Page 28: Introduction à Docker et Gaudi

Gaudi : builder

Page 29: Introduction à Docker et Gaudi

Question(s) ?