@manuquentin

marmelab
#AperoWebNancy
#EntenduANancy
« C’est quoi la version de Postgres à installer ? »
« Ah non moi j’ai pas ça chez moi »
« Pourtant ça march...
Problème dans l’industrie du transport Comment transporter différents type de produits ?
La solution Les containers !
Problème dans le domaine de l’IT Comment faire cohabiter différentes applications ?
La solution Les containers ! (encore)
Installation
Démarrer un container
Structure d’un container
AuFS
Création d’un premier container
Deux choix :
1. Lancer un container vide et commiter les changements
	 	 Problème: rend l’...
Commiter un container
Dockerfile
!
• Définit une image de base
!
• Une suite d’instructions à jouer
!
• Des fichiers à ajouter
!
• Des ports à ex...
Back to the future
Exemple : un compteur de visite revisité
!
• Une application NodeJS
• Un serveur Redis stockant le nombre de visites sur l...
Dockerfile - nodejs
Docker : options de lancement
Index
Lancer un container en utilisant l’index
Lier les containers
Variables d’environnement après liaison
Serveur NodeJS
Commandes utiles
!
• docker ps [-a]
• docker images
• docker kill [identifiant / nom]
• docker logs [identifiant / nom]
• do...
Docker - débrief
!
• Contraignant (lancer les containers dans l’ordre)
• Obligation de rebuilder après chaque modification ...
Gaudi
!
• Problématique : Installation des composants logiciels
• Outil d’orchestration simple: permet de lancer des conta...
Gaudi : configuration
Gaudi : lancement
Gaudi : builder
Question(s) ?
Prochain SlideShare
Chargement dans…5
×

Introduction à Docker et Gaudi

2 257 vues

Publié le

Slides de c

Publié dans : Logiciels
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 257
Sur SlideShare
0
Issues des intégrations
0
Intégrations
338
Actions
Partages
0
Téléchargements
42
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à Docker et Gaudi

  1. 1. @manuquentin marmelab #AperoWebNancy
  2. 2. #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 » ! ! ! ! !
  3. 3. Problème dans l’industrie du transport Comment transporter différents type de produits ?
  4. 4. La solution Les containers !
  5. 5. Problème dans le domaine de l’IT Comment faire cohabiter différentes applications ?
  6. 6. La solution Les containers ! (encore)
  7. 7. Installation
  8. 8. Démarrer un container
  9. 9. Structure d’un container
  10. 10. AuFS
  11. 11. 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
  12. 12. Commiter un container
  13. 13. Dockerfile ! • Définit une image de base ! • Une suite d’instructions à jouer ! • Des fichiers à ajouter ! • Des ports à exposer ! • Une commande à lancer
  14. 14. Back to the future
  15. 15. Exemple : un compteur de visite revisité ! • Une application NodeJS • Un serveur Redis stockant le nombre de visites sur la homepage
  16. 16. Dockerfile - nodejs
  17. 17. Docker : options de lancement
  18. 18. Index
  19. 19. Lancer un container en utilisant l’index
  20. 20. Lier les containers
  21. 21. Variables d’environnement après liaison
  22. 22. Serveur NodeJS
  23. 23. Commandes utiles ! • docker ps [-a] • docker images • docker kill [identifiant / nom] • docker logs [identifiant / nom] • docker inspect [identifiant / nom]
  24. 24. 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
  25. 25. 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
  26. 26. Gaudi : configuration
  27. 27. Gaudi : lancement
  28. 28. Gaudi : builder
  29. 29. Question(s) ?

×