Docker

De InfoXelec
Aller à la navigation Aller à la recherche

Présentation

Docker permet de gérer des conteneurs qui sont plus léger que les machines virtuelles.

Si docker est déjà installé, il faut le supprimer
sudo apt remove docker docker-engine docker.io containerd runc

Il faut dans un premier temps mettre à jour les dépôts
sudo apt update

Puis il faut installer les pré requis nécessaires
sudo apt install ca-certificates curl gnupg lsb-release

Il faut ensuite installer les certificats avec les commandes suivantes :
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Ensuite on installe le dépôt Docker dans le /etc/apt/sources.list/d pour Debian :
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Dans le cas de Ubuntu, il faut remplacer Debian par Ubuntu. La liste complète des distros dispo se trouve sur https://download.docker.com/linux/

On installe ensuite les paquets nécessaires à Docker proprement dit
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

On crée le groupe qui utilisera le service docker, si ce dernier n'existe pas et l'ajouter à l'utilisateur courant.
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker #pour activer le nouveau chgt aux groupes

On active le service docker et containerd
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Utilisation

Lancer un conteneur Docker Debian

docker run debian:latest
Il existe 3 types de montages.

  • volume : géré par Docker volume. Les données sont stockées dans /var/lib/docker/volumes ;
  • bind : dossier de l'hôte ;
  • tmpfs : Les données ne sont pas persistées.

Pour utiliser le bind mount, on pourra utiliser la commande docker run -d --name c1 --mount type=bind,source=/home/user/dossier/,destination=/var/www/html/ ubuntu/apache2:latest

Les images Docker permettent de gérer une configuration. Le conteneur Docker est une insrtance d'une image Docker.
On peut créer des images Docker avec le fichier DockerFile et la commande docker build -t nomimage .

Il est possible de faire des environnements utilisant plusieurs conteneurs. Pour se faire, on va utiliser **docker compose** liée à un fichier de configuration docker-compose.yml.

Bibliographie

GitHub de Noobosaurus-r3x qui parles de Docker : https://github.com/noobosaurus-r3x/Docker---Commandes-de-la-video/blob/main/Install%20Docker%20(Debian) Documentation officielle de Docker : https://docs.docker.com/