Présentation de Docker
Docker est un moteur de conteneurs : il empaquette une application et ses dépendances dans une image, puis l'exécute de façon isolée sur le noyau de l'hôte. Les développeurs s'en servent pour obtenir le même environnement en local et en production. Les petites équipes l'utilisent pour héberger plusieurs services sur une seule machine sans que leurs dépendances se gênent.
À la livraison, votre VPS Linux (Debian 12, Debian 13, Ubuntu 22.04 ou 24.04, ainsi qu'Ubuntu 20.04 avec les réserves indiquées plus bas) contient Docker Engine installé depuis le dépôt apt officiel de Docker. Les paquets docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin et docker-compose-plugin sont en place, et les services docker et containerd sont activés au démarrage.
La clé de signature du dépôt est vérifiée par empreinte avant l'installation. Un conteneur hello-world est lancé en fin de recette pour confirmer que le démon répond. Le serveur est ensuite à vous : aucun utilisateur n'est ajouté au groupe docker par défaut, et aucune application n'est déployée à votre place.
Ce que vous pouvez faire avec Docker
Dépôt apt officiel de Docker
Les paquets viennent de download.docker.com, avec une clé de signature dont l'empreinte est contrôlée. Les mises à jour passent par apt, comme le reste du système.
Compose et Buildx inclus
Le plugin Compose s'utilise avec
docker compose(sans tiret) et Buildx sert à construire vos images. Vous pouvez déployer une stack multiservice dès la première connexion.Rotation des journaux préconfigurée
Si
/etc/docker/daemon.jsonn'existe pas, la recette l'écrit avec le pilotejson-file, 10 Mo par fichier et 3 fichiers conservés. Les logs de conteneurs ne remplissent pas le disque en silence.Paquets en conflit retirés
Les paquets non officiels comme
docker.io,podman-docker,containerdouruncsont supprimés avant l'installation. Cela évite les mélanges de versions qui font échouer le démon.Accès root-équivalent maîtrisé
Aucun compte n'est ajouté au groupe
docker, qui équivaut à un accès root. Vous décidez qui reçoit ce privilège.Journal d'installation lisible
Chaque étape est tracée dans
/var/log/docker-install.log, et le fichier/var/lib/docker-install.doneconfirme que la recette est allée au bout.
Démarrer avec Docker
De la commande à la mise en production, en quelques minutes.
- 1
Commander le VPS avec Docker coché
Choisissez un VPS Linux à Paris ou Francfort, sélectionnez Debian 12, Debian 13, Ubuntu 22.04 ou 24.04, puis cochez Docker dans l'onglet « Applications » du formulaire de commande.
- 2
Se connecter et contrôler l'installation
Une fois le serveur livré, connectez-vous en SSH avec les accès reçus. L'installation s'exécute au premier démarrage : si le fichier marqueur n'existe pas encore, patientez un peu et suivez le journal.
Bashssh USER@SERVER_IP cat /var/lib/docker-install.done tail -n 20 /var/log/docker-install.log - 3
Lancer un premier conteneur
Vérifiez les versions, puis démarrez un serveur web de test. Le port est publié sur 127.0.0.1 uniquement : il n'est donc pas exposé à Internet pendant que vous testez.
Bashdocker --version && docker compose version docker run -d --name web -p 127.0.0.1:8080:80 nginx curl -I http://127.0.0.1:8080 - 4
Sécuriser avant la production
Placez un reverse proxy (Caddy, Traefik ou Nginx) devant vos services pour gérer YOUR_DOMAIN en HTTPS, et ne publiez sur Internet que les ports 80 et 443. Gardez les autres ports sur 127.0.0.1, car les ports publiés par Docker contournent ufw. Sauvegardez enfin vos volumes et vos fichiers compose.
Bashdocker volume ls docker compose up -d
Cas d’usage de Docker
Héberger plusieurs services isolés
Une base PostgreSQL, une application web et un outil de supervision tournent chacun dans leur conteneur, décrits dans un seul fichier
compose.yaml. Vous les mettez à jour ou les redémarrez séparément.Déployer une application auto-hébergée
De nombreux projets open source (n8n, Nextcloud, Gitea, Uptime Kuma…) publient une image Docker et un exemple Compose. Le VPS est prêt à les recevoir sans préparation préalable.
Construire et tester des images
Avec Buildx, vous construisez vos images sur une machine distante dédiée, sans charger votre poste de travail. C'est utile pour une chaîne de CI légère ou des tests d'intégration.
Reproduire la production en préproduction
Un second VPS avec la même version de Docker et les mêmes fichiers Compose vous donne un environnement de recette proche de la production, à coût d'administration réduit.
Questions fréquentes sur Docker
La recette installe docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin et docker-compose-plugin depuis le dépôt apt officiel de Docker. Le service docker et le service containerd sont activés au démarrage. Avec Compose v2, la commande est docker compose, pas docker-compose.
En savoir plus sur Docker
Pare-feu et ports publiés
C'est le piège le plus courant. Quand vous publiez un port avec -p 8080:80, Docker écrit ses propres règles iptables et le trafic passe avant celles de ufw ou firewalld. Un ufw deny 8080 n'empêche donc rien.
Deux approches fiables : lier le port à l'interface locale (-p 127.0.0.1:8080:80) et exposer le service via un reverse proxy, ou filtrer dans la chaîne DOCKER-USER, que Docker consulte avant ses propres règles. La première est plus simple et suffit dans la plupart des cas.
Groupe docker et sudo
Appartenir au groupe docker revient à avoir les droits root sur la machine : un conteneur peut monter le système de fichiers de l'hôte. La recette n'ajoute personne à ce groupe. Si vous voulez travailler avec un compte non privilégié, ajoutez-le vous-même, puis reconnectez-vous.
Bashsudo usermod -aG docker USER
Journaux de conteneurs
Le fichier /etc/docker/daemon.json écrit à la livraison limite chaque conteneur à 3 fichiers de 10 Mo. Il n'est créé que s'il n'existait pas déjà. Pour modifier ces valeurs, éditez-le puis redémarrez le démon. Les nouveaux réglages ne s'appliquent qu'aux conteneurs créés après le redémarrage.
Bashsudo systemctl restart docker
Mises à jour
Le dépôt Docker est déclaré dans /etc/apt/sources.list.d/docker.sources. Les nouvelles versions arrivent donc avec les mises à jour apt habituelles. Planifiez-les à un moment où un redémarrage du démon est acceptable, car il peut interrompre vos conteneurs si l'option live-restore n'est pas activée.
Bashsudo apt update && sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io
Ubuntu 20.04
Docker ne prend plus officiellement en charge Ubuntu 20.04. La recette tente tout de même l'installation si le dépôt Docker publie encore cette version, et inscrit un avertissement dans le journal. Pour un serveur de production, préférez Ubuntu 22.04, Ubuntu 24.04, Debian 12 ou Debian 13, toutes prises en charge.
Sauvegardes
Les images se retéléchargent, vos données non. Sauvegardez les volumes nommés, les répertoires montés et vos fichiers compose.yaml avec leurs variables d'environnement. Pour une base de données, préférez un export logique (pg_dump, mysqldump) à une copie du volume à chaud.
