📦 Containers

Docker est un logiciel qui est pas mal utilisé pour installer des services sur un serveur.

L'avantage c'est que Docker va virtualiser les services dans des genres de "mini-machine virtuelles". Ce qui permet :

C'est nottament ce qui est utilisé quand on a utilisé Gitlab-CI pour l'automatisation.

Et c'est ce que l'on va de nouveau utiliser quand on va utiliser Kubernetes pour avoir une plus grande extensibilité.

Pourquoi j'aime Docker

Il y a beaucoup d'avantages que je trouve Ă  Docker.

Quelques concepts Ă  comprendre

Un volume est un moyen de rendre certaines données persistantes. Car quand vous re-créez un conteneur, tout le reste sera rénitialisé. Le volume lie un dossier sur la machine hôte à un dossier dans le conteneur. Et il y a deux types de volumes:

Pour utiliser un bind et quand même faire en sorte de garder les données du côté conteneur, il vaut mieux alors définir la mise en place des données dans le dossier au moment du entrypoint.sh (on va voir ça quand on vera la dockerization)

Un réseau est un lien entre plusieurs conteneurs qui leur permet de communiquer sans avoir besoin d'exposer les ports de ces derniers. On va en savoir plus sur le chapitre sur traefik (reverse-proxy)

Une conteneur est ce qui tourne sur Docker, un conteneur peut être lié à un volume, à des réseaux, etc. Un conteneur fait tourner une image qui aura été préalablement crée.

Une image est en quelque sorte l'état "de base" d'un conteneur. Elle contient toutes les informations initiales nécessaires, le script qui a permi de la configurer, la commande de lancement du conteneur et tous les fichiers qui y ont été ajouté. C'est une genre d'"archive" de machine virtuelle si on veut.

Un registery est un répertoire pour y envoyer ou télécharger des images. Le plus connus de tous est le Docker Hub

Installation

Pour l'installer vous pouvez suivre les instructions suivantes (évitez Docker Desktop si possible)


Revision #1
Created 26 April 2023 17:09:32 by SnowCode
Updated 26 April 2023 17:09:32 by SnowCode