Bonjour ! Suivez-vous notre série sur la création d'un système de déploiement automatique utilisant GitHub Webhook ? Comme mentionné dans le troisième article, Docker joue un rôle clé dans notre pipeline CI/CD.

Cet article est destiné à ceux qui n'ont pas encore installé Docker sur leur serveur, et fournit des instructions détaillées étape par étape pour installer Docker Engine et Docker Compose sur un serveur Ubuntu.

Upgrade to newest Docker version

1. Suppression de la version antérieure (facultatif)

Si vous avez installé une version non officielle de Docker auparavant, il est conseillé de commencer par la désinstaller complètement. Exécutez la commande ci-dessous pour éliminer tous les packages existants susceptibles de provoquer des conflits.

sudo apt-get remove --purge docker docker-engine docker.io containerd runc docker-compose

Si vous n'avez pas de données importantes et souhaitez repartir sur une base propre, il est recommandé de supprimer complètement les traces de l'ancienne version de Docker.

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
  • Attention : Cette commande supprimera toutes les données des conteneurs et des images, donc si vos données sont importantes, assurez-vous de les sauvegarder au préalable.

2. Configuration du dépôt officiel de Docker

Pour installer de manière fiable la dernière version de Docker, vous devez configurer le dépôt APT officiel.

# Mise à jour des packages apt
sudo apt-get update

# Installation des packages nécessaires pour configurer le dépôt officiel de Docker
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Ajout de la clé GPG officielle de Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Ajout du dépôt Docker au dépôt APT
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Activation du dépôt APT Docker
sudo apt-get update

3. Installation de Docker Engine

Nous allons maintenant installer Docker Engine et les outils associés.

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

La commande ci-dessus installera Docker Engine, les outils CLI, le runtime de conteneur (containerd.io), ainsi que Docker Compose sous forme de plugin.

4. Vérification de l'installation de Docker

Pour vérifier si l'installation s'est bien déroulée, exécutez le conteneur hello-world. Cette commande est un test simple pour vérifier que Docker fonctionne correctement.

sudo docker run hello-world

Si le message "Hello from Docker!" s'affiche, cela signifie que Docker Engine a été installé correctement.

5. Utilisation de la commande Docker sans sudo (facultatif)

Par défaut, vous devez utiliser sudo pour exécuter la commande docker. Cependant, dans notre système de déploiement automatique, nous devons exécuter docker avec un compte utilisateur normal du service systemd, donc nous devons configurer les droits pour utiliser docker sans sudo.

  1. Ajoutez votre utilisateur actuel au groupe docker.
sudo usermod -aG docker $USER
  1. Pour appliquer les modifications, assurez-vous de vous déconnecter et de vous reconnecter.

  2. Après vous être reconnecté, vérifiez que la commande docker run hello-world fonctionne correctement sans sudo.

6. Vérification de l'installation de Docker Compose

Étant donné que vous avez installé docker-compose-plugin, aucune étape d'installation supplémentaire n'est nécessaire. Vérifiez que docker compose est correctement installé avec la commande suivante.

docker compose version

Si un message tel que "Docker Compose version v2.x.x" s'affiche, vous avez réussi.

7. Conclusion

Votre serveur est maintenant équipé de Docker et Docker Compose. Fermez cet article et retournez à notre série principale sur la création de votre propre système de déploiement automatique utilisant GitHub Webhook (partie 3) pour passer à l'étape suivante. Une expérience passionnante vous attend, consistant à containeriser votre projet et à le déployer automatiquement via Docker !