Containers : Composition

Docker compose

Containers : Composition
Photo by Nick Karvounis / Unsplash

La site du chemin, dans l'univers des containers

Vidéo précédante

Les containers
Découverte de la containerisation via Docker

Lift and shift container dans un cas de déploiement complexe

0:00
/0:19

Il s'agit d'un anti-pattern mais qui peut être mis en oeuvre dans une démarche transitoire, sur certain projet trop couteux à refactoriser.

Deux mots d’architecture logicielle

Evolution des patterns logiciels

Composer ses containers

Docker Compose en standalone
0:00
/0:16

Injection d’un container

les bootstraps et les variables d’environnement

Cas d’usages

Voir dépot Ultragreen sur Github pour les sources :
GitHub - Ultragreen/formation-docker: support de formation
support de formation. Contribute to Ultragreen/formation-docker development by creating an account on GitHub.

Application PHP simpliste avec volumes

Cas d'une application par montage

Application Ruby simpliste avec base MongoDB

Cas d'une application sous forme de container auto-porteur

Le  healthcheck d’un container

Pour composer des services et s’approcher de l’orchestration il faut un moyen de définir l’état d’un container  au-delà du fait qu’un processus tourne

Construire l'image Docker

$ docker build -t my-nginx .

Exécuter le conteneur

$ docker run -d --name my-nginx-container my-nginx

Contrôles

Au démarrage

$ docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED          STATUS                             PORTS     NAMES
c4bd9f437fc2   my-nginx   "/docker-entrypoint.…"   13 seconds ago   Up 12 seconds (health: starting)   80/tcp    my-nginx-container

En RUN

$ docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS                   PORTS     NAMES
c4bd9f437fc2   my-nginx   "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes (healthy)   80/tcp    my-nginx-container

Pbm : le healthcheck est mesuré de l’intérieur !

Utiliser un Ingress : Traefik

0:00
/0:55

Présentation plus en détail de Traefik 

Vidéo suivante

Docker SWARM : clusterisation
La clusterisation simple avec Swarm