Déploiement d'applications dans des conteneurs avec Docker

Mots clés

Présentation

Pour linux, Le paquet à installer est docker.io et pour windows il faut télécharger l'application boot2docker. Cette dernière est en faite une machine virtuelle sous Tails ( une distribution linux très légère) qui lance le service docker et le client. L'installation va vous permettre d'avoir :

Par la suite vous pourrez utiliser des images pour construire des conteneurs avec n'importe quel application dessus. Il existe d'autres mots clés comme Docker images, Dockerfile, Docker Hub, Layers qui permettent d'utiliser tout le potentiel de Docker, veuillez noter que cette liste n'est pas exhaustive. Voici un schéma de quelques composantes de docker.

Docker Engine

le service ou démon Docker s'exécute sur un ordinateur hôte. L'utilisateur ne interagit pas directement avec le démon, mais plutôt via le client Docker. Lorsqu'une commande est effectuée, celle-ci appelle le démon.

Docker client

Le client Docker est en faite la commande docker qu'on utilise dans le terminal. C'est l'interface utilisateur principal de docker. Il communique avant en arrière avec le démon.

Docker Images

Une image Docker est un modèle en lecture seule. Par exemple, une image peut contenir un système d'exploitation debian et votre jenkins installée. Les images sont utilisés pour créer des conteneurs Docker. C'est un moyen simple de construire de nouvelles images ou mettre à jour des images existantes, ou vous pouvez télécharger des images Docker que d'autres personnes ont déjà créés . Docker images sont la composante de construction des Docker.

Dockerfile

Docker peut construire automatiquement les images en lisant les instructions d'un Dockerfile. Un Dockerfile est un document texte qui contient toutes les commandes que vous auriez normalement à exécuter manuellement afin de construire une image Docker. En appelant "docker build" depuis votre terminal, vous pouvez voir Docker construire votre image étape par étape, exécuter les instructions successivement comme n'importe quel script shell ou autre.

Docker hub

Le site Docker Hub ou Registry contient toutes les images déjà construites. Ce sont des dépots publics à partir duquel vous pouvez charger ou télécharger des images. Il fournit une énorme collection d'images existantes pour votre usage. Ceux-ci peuvent être des images que vous créez vous-même ou vous pouvez utiliser des images que d'autres ont déjà créés.

Layers

Quand docker monte le root fs il démarre comme dans n'importe quel linux en lecture seule. Après avoir vérifier l'intégrité du système plutôt que de basculer en mode lecture-écriture, il ajoute un fichier en lecture-ecriture au dessus du root fs, qui est toujours en lecture seul, grâce au service "union file system". C'est un service qui permet de fusionner plusieurs points de montage appelés "branches". Ce fichier créé est appelé layer

Commandes

Voici quelques commandes qui vont vous permettre de gagner du temps lorsque vous allez utiliser docker :