Docker : quelques informations utiles avant …

Sommaire

Introduction
Installation des prérequis
Installation de Docker sur Ubuntu
Docker : quelques informations utiles avant …
Installation de Gitlab avec Docker
Installation de Discourse avec Docker
Pour conclure sur ce tutoriel Docker

Avant se lancer dans notre déploiement de conteneurs (Gitlab et Discourse) voici quelques informations (un peu en vrac) à savoir sur les conteneurs.

Le réseau

C’est ce qui est un peu déroutant au départ quand on pense virtualisation, par défaut, les conteneurs ne sont pas exposés directement une IP de votre LAN, il utilise un système de NAT/PAT pour publier les services.

Il est effectivement possible d’avoir plusieurs conteneurs utilisant des serveurs Web, on peut par exemple avoir un conteneur Nginx et Apache2, mais les deux conteneurs ne pourront pas exposés le port 80 par exemple.

C’est pour cela qu’en prérequis, nous avons installé Nginx en tant que reverse proxy.

Il est possible d’exposer un conteneur avec « sa propre IP » en passant par un pont (Bridge).

Plus d’information : Networking overview | Docker Documentation

Un conteneur est persistant mais attention

Le stockage d’un conteneur est persistant, c’est-à-dire que les modifications s’écrivent dans l’image du conteneur, mais attention, lors d’un rebuild de l’image, mise à jour, les données seront perdues.

Vous pouvez arrêter un conteneur sans risque de perdre les données.

Pour palier à ce problème de reconstruction / mise à jour, il est possible de rediriger des dossiers du conteneur vers un dossier sur le serveur hôte

Si on prend par exemple, un conteneur Apache2, on va rediriger le dossier /var/www du conteneur vers un dossier qui se trouve sur l’hôte, si présente deux avantages :

  • Pouvoir accéder aux dossiers et fichiers du serveur web que l’on publie
  • De mettre çà jour le conteneur sans perdre de données.

Où trouver des images

L’ensemble des images Docker sont disponible ici : Docker Hub

Le hub étant ouvert à tous le monde, bien faire attention au choix des images et choisir de préférence les images Officiel qui sont marqués par un ruban.

Le tag lastest

Comme on peut le voir sur la capture ci-dessous, pour une même image, il existe plusieurs tags, souvent cela correspond à la version du logiciel que l’on souhaite.

Comme on peut le voir le tag lastest pointe sur la version 10.5 de MaraiDB.

Je suppose que vous avez compris à quoi sert le tag lastest, il pointe sur la version stable la plus récente.

Dans certaine situation, il faut se méfier de ce tag, notamment quand on utilise plusieurs conteneur pour faire tourner une application.

Partons du principe, que je souhaite faire fonctionner une application Web, qui a besoin de Apache2, PHP et MariaDB 10.5

Au jour de la rédaction de tutoriel, je peux utiliser le tag lastest sur mon conteneur MariaDB car il est sur la version 10.5.

Au bout de 6 mois, je souhaite changer de serveur et je me lance dans l’installation des conteneurs, mon application doit fonctionner avec MariaDB 10.5, mais depuis le tag lastest est porté sur la 10.6, ce qui fait que mon application ne fonctionnera pas.

Tout ça pour dire de faire attention avec Tag, pour des applications packagées en conteneur comme Gitlab ou Discourse, l’utilisation du tag lastest nous permet par contre de maintenant à jour notre application.

Penser à vérifier les versions derrière lastest.




Start the discussion at community.rdr-it.io