Ce guide explique comment installer Docker et Docker Compose sur une machine virtuelle exécutant Debian 12.
À travers ce guide, vous apprendrez donc à installer Docker et Docker Compose, puis à utiliser Docker Compose pour créer un environnement complet de développement comprenant Apache, PHP, MySQL, et phpMyAdmin.
Avant d'installer Docker, il est recommandé de mettre à jour les paquets existants.
Ouvrir une connexion SSH ou un terminal sur la machine virtuelle.
Mettre à jour les paquets du système avec la commande suivante :
sudo apt update && sudo apt upgrade -y
Une fois votre système mis à jour, installez les paquets nécessaires pour permettre à apt d'utiliser un dépôt via HTTPS :
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2 -y
Ensuite, ajoutez la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Ajoutez le dépôt Docker aux sources d'APT :
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Mettez à jour l'index des paquets et installez Docker CE (Community Edition) :
sudo apt update && sudo apt install docker-ce -y
Pour vous assurer que Docker démarre automatiquement au démarrage, exécutez la commande suivante :
sudo systemctl enable docker
Pour vérifier que Docker est bien installé, exécutez la commande suivante:
docker -v
Si l'installation est bien effective, vous devriez voir s'afficher un message similaire a celui-ci : Docker version 28.0.0, build f9ced58.
Pour installer Docker Compose, commencez par télécharger la dernière version depuis le dépôt officiel GitHub :
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Ensuite, définissez les permissions appropriées pour rendre le binaire exécutable :
sudo chmod +x /usr/local/bin/docker-compose
Vérifiez l'installation en consultant la version de Docker Compose :
docker-compose --version
Vous devriez ainsi voir un message similaire à celui-ci docker-compose version 1.29.2, build 5becea4c s'afficher.
Créez un nouveau dossier pour votre projet Docker, par exemple /home/web :
mkdir /home/web
Dans le dossier /home/web, créez un fichier nommé docker-compose.yml :
nano /home/web/docker-compose.yml
Copiez et collez le script suivant dans le fichier docker-compose.yml que vous venez de créer :
version: '3.8'
services:
# Service Apache + PHP
apache-php:
image: php:8.3-apache
container_name: apache-php
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
networks:
- webnet
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: "Azerty1234"
MYSQL_DATABASE: "luc"
MYSQL_USER: "user"
MYSQL_PASSWORD: "Azerty1234"
volumes:
- mysql_data:/var/lib/mysql
networks:
- webnet
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
ports:
- "8081:80"
environment:
PMA_HOST: "mysql"
PMA_USER: "user"
PMA_PASSWORD: "Azerty1234"
networks:
- webnet
volumes:
mysql_data:
networks:
webnet:
driver: bridge
Explications:
Vous pouvez mettre vos fichiers PHP ou votre site web dans le répertoire /home/web/src (sur votre machine hôte). Ce répertoire sera monté dans le conteneur sous /var/www/html, ce qui permet à Apache de servir ces fichiers.
Une fois le fichier docker-compose.yml créé, vous pouvez démarrer les services en exécutant la commande suivante :
docker-compose up -d
Cette commande télécharge les images nécessaires (si elles ne sont pas déjà présentes) et démarre les containers en arrière-plan. L'option -d permet de détacher l'exécution et de laisser les services tourner en arrière-plan.
Vous pouvez maintenant accéder aux services suivants :