VPS
time_read27mn de lecture

Docker sur VPS LWS : guide complet pour installer, configurer et déployer ses applications

04 mai 2026
Résumez avec:

Docker sur VPS LWS : guide complet pour installer, configurer et déployer ses applications

Déployer une application sur un serveur peut vite devenir difficile : dépendances incompatibles, versions différentes entre l’environnement local et la production, ports mal configurés ou mises à jour risquées. C’est précisément ce que Docker permet de simplifier. Grâce aux conteneurs, chaque application embarque son environnement d’exécution et peut fonctionner de manière isolée, reproductible et prévisible.🎉 Sur un VPS KVM LWS, Docker devient un excellent allié pour héberger plusieurs services sans complexifier l’administration du serveur. Vous pouvez déployer WordPress, Nextcloud, n8n, Uptime Kuma, une application Node.js, Python ou un agent IA, tout en gardant le contrôle complet de votre infrastructure.⚡

En 2026, Docker reste un standard pour les développeurs, les administrateurs système et les projets self-hosted. 💥Ce guide vous accompagne pas à pas pour installer Docker sur un VPS LWS et déployer vos premières applications conteneurisées. 😊L’approche convient particulièrement aux VPS disposant d’un accès root complet et d’une virtualisation KVM fiable.

Objectif

👇L’objectif de ce tutoriel est de vous guider depuis un VPS Ubuntu vierge jusqu’à un environnement Docker opérationnel, prêt à héberger des applications réelles. Vous allez d’abord comprendre les notions essentielles : image, conteneur, volume, réseau et Docker Compose. Ensuite, vous installerez Docker Engine sur Ubuntu 22.04 LTS ou Ubuntu 24.04 LTS à partir du dépôt officiel Docker. 😪Le guide vous montrera également comment lancer vos premiers conteneurs, puis comment déployer une application multi-services avec un fichier compose.yaml. L’exemple principal reposera sur un stack WordPress + MySQL, car il illustre clairement la communication entre services, la persistance des données et la configuration par variables d’environnement.☑ À la fin de l’article, vous saurez installer Docker, lancer un service, gérer les logs, maintenir vos conteneurs et préparer un déploiement plus propre avec un reverse proxy HTTPS. 😉

Pré-requis

Pour suivre ce tutoriel, vous devez disposer :

  • D’un VPS KVM LWS actif, idéalement installé avec Ubuntu 22.04 LTS ou Ubuntu 24.04 LTS. Ces versions sont adaptées à l’installation de Docker Engine depuis le dépôt officiel Docker et conviennent aux usages serveur courants.
  • Un accès SSH root au VPS afin d’exécuter les commandes d’installation et de configuration :
ssh root@IP_VPS
  • Une fois connecté, vérifiez la version du noyau Linux :
uname -r
  • Docker nécessite un environnement Linux complet, ce qui rend la virtualisation KVM particulièrement adaptée. Contrairement à certains environnements mutualisés ou virtualisés de manière plus restrictive, KVM offre un meilleur contrôle du système, du kernel et des ressources.
  • Aucune installation préalable de Docker n’est requise. Le guide part d’un serveur propre. Un niveau intermédiaire en ligne de commande est recommandé : navigation dans les dossiers, édition de fichiers, lecture de logs et exécution de commandes simples.

Besoin d’un serveur VPS KVM performant et flexible ?

Découvrez nos offres VPS KVM haut de gamme : des ressources garanties et un contrôle total pour vos projets. Profitez d’un hébergement 100 % SSD, d’un accès root complet, le tout dans un datacenter en France. Démarrez dès maintenant à partir de 4,99 €/mois !

Je choisis mon VPS KVM

Cadre technique et périmètre

Cet article couvre l’usage le plus courant de Docker sur un VPS : déployer et maintenir plusieurs applications sur un serveur Linux unique. Il s’adresse aux utilisateurs qui veulent héberger leurs services de manière plus propre, reproductible et isolée qu’avec une installation manuelle classique.

Nous allons aborder les concepts fondamentaux de Docker :

  • image,
  • conteneur,
  • volume,
  • réseau,
  • fichier compose.yaml
  • Docker Compose.

Ensuite, nous verrons comment installer Docker Engine sur Ubuntu, lancer un premier conteneur, puis structurer un déploiement multi-services complet. Le cas pratique principal sera un stack WordPress + MySQL, suffisamment parlant pour comprendre la communication entre conteneurs, la persistance des données et la configuration par variables d’environnement.

Le tutoriel inclut aussi la sécurisation de l’accès avec un reverse proxy, des exemples d’applications self-hostées, les commandes de maintenance, les vérifications après déploiement, les erreurs fréquentes et les bonnes pratiques de sécurité.

En revanche, Kubernetes, Docker Swarm, les architectures multi-serveurs et la création avancée d’images personnalisées ne sont pas traités ici. Docker sur Windows ou macOS sort également du périmètre, car l’objectif est de travailler sur un VPS Linux LWS. Les interfaces graphiques comme Coolify seront plutôt abordées dans un guide séparé.

Les concepts Docker essentiels

Avant d’installer Docker sur votre VPS LWS, il est utile de comprendre les éléments qui composent son fonctionnement. Docker repose sur une logique simple : au lieu d’installer directement une application et toutes ses dépendances sur le système, on l’exécute dans un environnement isolé appelé conteneur.

Les concepts Docker essentiels

Une image Docker

C’est un modèle prêt à l’emploi. Elle contient tout ce dont une application a besoin pour fonctionner : système de base, dépendances, bibliothèques, runtime, fichiers applicatifs et configuration initiale. Par exemple, l’image nginx:latest permet de lancer un serveur web Nginx, tandis que mysql:8.0 permet de démarrer une base de données MySQL.

Une image ne change pas pendant son exécution : elle sert de base stable pour créer un ou plusieurs conteneurs.

Un conteneur

C’est une instance active d’une image. Si l’image est le modèle, le conteneur est le service qui tourne réellement sur le VPS. Il peut être démarré, arrêté, redémarré ou supprimé sans modifier l’image d’origine. Cette séparation rend les déploiements plus propres et plus reproductibles.

Docker Hub

Il s’agit d’un registre public le plus utilisé pour récupérer des images officielles ou maintenues par des éditeurs. On y trouve des images pour WordPress, MySQL, Redis, PostgreSQL, Node.js, Python, Nginx, Nextcloud ou encore n8n. Pour un usage sérieux, il est recommandé de privilégier les images officielles, les éditeurs vérifiés et les projets maintenus régulièrement.

Docker Compose

Il permet de gérer des applications composées de plusieurs conteneurs depuis un seul fichier, généralement nommé compose.yaml. Au lieu de lancer manuellement chaque service avec une longue commande, vous déclarez les services, ports, volumes, réseaux et variables d’environnement dans un fichier YAML. Le lancement du projet se fait ensuite avec :

docker compose up -d

En 2026, cette syntaxe avec espace est la syntaxe correcte à utiliser avec le plugin Compose intégré à la CLI Docker.

Un volume Docker

Il sert à conserver les données au-delà du cycle de vie d’un conteneur. C’est indispensable pour les bases de données, les fichiers WordPress, les documents Nextcloud ou les configurations applicatives. Sans volume, supprimer un conteneur peut entraîner la perte des données stockées à l’intérieur.

Nous distinguons généralement les volumes nommés, gérés par Docker, et les montages de dossiers du VPS. Les volumes nommés sont pratiques pour les bases de données. Les montages de dossiers sont utiles pour les fichiers de configuration que vous souhaitez consulter ou modifier directement depuis le serveur.

Les réseaux Docker

Ils permettent aux conteneurs d’un même projet de communiquer entre eux. Dans un fichier Compose, WordPress peut joindre MySQL avec le nom du service db, sans exposer la base de données publiquement.

Installer Docker sur le VPS LWS

La méthode recommandée consiste à installer Docker depuis le dépôt officiel Docker. Sur Ubuntu, certains paquets disponibles directement dans les dépôts de la distribution peuvent être moins récents.

Pour un VPS destiné à héberger des applications en production, il est préférable d’utiliser la méthode officielle afin d’obtenir Docker Engine, le client Docker, containerd, Buildx et le plugin Docker Compose.

Étape 1 — Mettre à jour le système

Depuis votre espace d’hébergement, accédez à la console.

Accéder à la console VPS

Commencez par vous connecter à votre VPS LWS en SSH :

ssh root@IP_VPS

Terminal pour accéder au VPS

Une fois que vous êtes connecté, vous aurez une interface comme celle que vous voyez ci-dessous :

VPS KVM Connecté

Mettez ensuite le système à jour :

apt update && apt upgrade -y

Exécuter la commande de la mise à jour du VPS KVM

Patientez pendant que le système exécute la mise à jour. Celle-ci peut prendre quelques minutes.

Installation de la mise à jour du système Docker sur VPS KVM

Étape 2 — Installer les dépendances

Installez les dépendances nécessaires à l’ajout du dépôt Docker :

apt install -y ca-certificates curl gnupg

Étape 3 — Ajouter la clé GPG officielle Docker

Créez le dossier qui accueillera les clés utilisées par APT :

install -m 0755 -d /etc/apt/keyrings

Ajoutez la clé GPG officielle Docker :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Appliquez les permissions nécessaires :

chmod a+r /etc/apt/keyrings/docker.gpg

Étape 4 — Ajouter le dépôt Docker

Ajoutez maintenant le dépôt Docker correspondant à votre version d’Ubuntu :

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

Étape 5 — Installer Docker Engine + Compose

Rechargez la liste des paquets :

apt update

Installez Docker Engine, ses composants principaux et le plugin Compose :

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

Étape 6 — Vérifier l’installation

Vérifiez ensuite que Docker est bien installé :

docker --version

Vous devez obtenir une sortie indiquant la version installée de Docker.

Résultats de la version Docker installée sur VPS KVM

Vérifiez aussi Docker Compose :

docker compose version

La commande doit afficher une version de Docker Compose v2 ou supérieure. Si c’est le cas, le plugin Compose est correctement disponible depuis la CLI Docker.

Docker compose version

Étape 7 — Activer Docker au démarrage

Activez Docker au démarrage du VPS :

systemctl enable docker
systemctl start docker

Vous pouvez contrôler l’état du service avec :

systemctl status docker

Si le service est actif, Docker est prêt à être utilisé sur votre VPS.

Pour éviter de manipuler Docker uniquement avec le compte root, vous pouvez créer un utilisateur dédié au déploiement :

useradd -m -s /bin/bash deploys
usermod -aG docker deploys
su - deploys

Cet utilisateur pourra lancer les commandes Docker sans utiliser directement le compte root. Cette pratique améliore l’organisation du serveur, mais elle doit rester réservée à des utilisateurs de confiance, car l’accès au groupe Docker donne des droits importants sur la machine.

Trucs et astuces


Docker fonctionne idéalement sur un VPS avec virtualisation KVM, accès root complet et distribution Linux récente. Le VPS KVM LWS fournit un environnement adapté pour installer Docker, gérer vos services en SSH, accéder à une console web depuis le Panel KVM et préparer vos interventions avec des snapshots.

Voir les offres VPS KVM LWS

Premiers pas avec Docker

Une fois Docker installé, commencez par lancer un conteneur de test. Docker fournit une image officielle appelée hello-world, pensée pour vérifier que le moteur fonctionne correctement, que le VPS peut télécharger une image et qu’un conteneur peut s’exécuter sans erreur.

docker run hello-world

Si l’installation est correcte, un message de confirmation s’affiche dans le terminal.

Hello From Docker - tester Docker sur VPS KVM

Ce test est simple, mais il valide toute la chaîne : client Docker, daemon Docker, accès réseau au registre d’images et exécution du conteneur.

Les commandes de base à connaître sont les suivantes :

Action Commande

Lancer un conteneur

docker run [image]

Lancer en arrière-plan

docker run -d [image]

Lister les conteneurs actifs

docker ps

Lister tous les conteneurs

docker ps -a

Arrêter un conteneur

docker stop [nom_ou_id]

Supprimer un conteneur

docker rm [nom_ou_id]

Lister les images

docker images

Supprimer une image

docker rmi [image]

Voir les logs

docker logs [nom_ou_id]

Exécuter une commande dans un conteneur

docker exec -it [nom] bash

Lister les volumes

docker volume ls

Prenons un exemple concret avec Nginx. La commande suivante lance un serveur web dans un conteneur et expose son port 80 interne sur le port 8080 du VPS :

docker run -d \
  --name mon-nginx \
  -p 8080:80 \
  nginx:latest

Vérifiez qu’il fonctionne :

docker ps

Ouvrez ensuite votre navigateur à l’adresse :

http://IP_VPS:8080

Vous devriez voir la page par défaut de Nginx. Cela signifie que le conteneur tourne correctement et que le port est bien accessible depuis l’extérieur. Pour arrêter puis supprimer ce test :

docker stop mon-nginx
docker rm mon-nginx

Cette première manipulation montre l’intérêt de Docker : aucun paquet Nginx n’a été installé directement sur Ubuntu, mais le service a tout de même fonctionné en quelques secondes. Chaque application peut ainsi rester isolée, facile à supprimer et simple à relancer.

En production, ce type de test permet aussi de vérifier rapidement le pare-feu, les règles réseau du VPS et la publication des ports. Si la page n’apparaît pas, contrôlez d’abord le port exposé, l’adresse IP utilisée et les éventuelles restrictions côté serveur.

Docker Compose : déployer WordPress + MySQL

Les commandes docker run sont utiles pour tester un service isolé, mais elles deviennent vite difficiles à maintenir dès qu’une application dépend de plusieurs conteneurs. WordPress, par exemple, a besoin d’un serveur web PHP, d’une base de données MySQL, de volumes persistants et d’un réseau interne. Docker Compose permet de décrire tout cela dans un seul fichier YAML, lisible, réutilisable et facile à versionner.

Étape 1 — Créer le dossier du projet

Créez d’abord un dossier dédié au projet :

mkdir -p /opt/wordpress-docker
cd /opt/wordpress-docker

Étape 2 — Créer le fichier compose.yaml

Créez ensuite le fichier de configuration :

nano compose.yaml

Ajoutez le contenu suivant :

services:
  db:
    image: mysql:8.0
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: mot_de_passe_fort_ici
      MYSQL_ROOT_PASSWORD: mot_de_passe_root_fort_ici
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    container_name: wordpress_app
    restart: always
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: mot_de_passe_fort_ici
    volumes:
      - wp_data:/var/www/html

volumes:
  db_data:
  wp_data:

Dans ce fichier, deux services sont déclarés. Le service db utilise l’image MySQL 8.0 et initialise une base appelée wordpress avec un utilisateur dédié. Le volume db_data conserve les données de la base, même si le conteneur est recréé.

Le service wordpress utilise l’image officielle WordPress, se connecte à MySQL grâce au nom de service db, expose le site sur le port 8080 du VPS et stocke ses fichiers dans le volume wp_data.

Étape 3 — Lancer le stack

Lancez maintenant le stack :

docker compose up -d

Au premier lancement, Docker télécharge les images nécessaires, crée automatiquement le réseau du projet, initialise les volumes et démarre les conteneurs. L’option -d exécute les services en arrière-plan, ce qui vous permet de récupérer la main dans le terminal.

Étape 4 — Vérifier que tout tourne

Vérifiez l’état du déploiement :

docker compose ps

Les services db et wordpress doivent apparaître comme actifs. Si un service ne démarre pas, consultez les logs :

docker compose logs wordpress
docker compose logs db

Vous pouvez également suivre les logs en temps réel :

docker compose logs -f

Étape 5 — Tester dans le navigateur

Ouvrez ensuite votre navigateur à l’adresse suivante :

http://IP_VPS:8080

L’assistant d’installation WordPress doit s’afficher. Vous pourrez alors choisir la langue, créer l’utilisateur administrateur et finaliser la configuration du site.

Les commandes Compose les plus utiles sont :

Action Commande

Démarrer le stack

docker compose up -d

Arrêter le stack

docker compose down

Voir les logs

docker compose logs -f

Redémarrer un service

docker compose restart [service]

Télécharger les nouvelles images

docker compose pull

Recréer les conteneurs

docker compose up -d

Arrêter et supprimer les volumes

docker compose down -v

Soyez prudent avec docker compose down -v : cette commande supprime aussi les volumes du projet. Dans le cas de WordPress, cela peut effacer la base MySQL et les fichiers du site. Pour un environnement de production, conservez toujours les volumes et effectuez une sauvegarde avant toute opération risquée.

Cet exemple illustre la force de Docker Compose : toute l’architecture applicative est décrite dans un fichier unique. Vous pouvez relire la configuration, la déplacer sur un autre VPS, la sauvegarder dans un dépôt privé ou l’adapter pour ajouter un cache Redis, un reverse proxy ou un service de sauvegarde.

Dans un contexte réel, remplacez toujours les mots de passe d’exemple par des valeurs longues et uniques. Évitez aussi de publier ce fichier dans un dépôt public, car il contient des secrets. Une amélioration courante consiste à placer les mots de passe dans un fichier .env, puis à les appeler dans le fichier Compose avec la syntaxe ${VARIABLE}. Cette méthode facilite la maintenance et limite les risques d’exposition accidentelle.

Vous pouvez également adapter le port publié. Si le port 8080 est déjà utilisé par une autre application, choisissez par exemple 8081:80. Le premier nombre correspond au port du VPS, le second au port interne du conteneur. Dans la suite de l’article, le reverse proxy permettra de masquer ce port technique derrière un vrai nom de domaine HTTPS, plus propre pour les visiteurs et pour l’administration quotidienne.

Sécuriser l’accès : reverse proxy avec Nginx Proxy Manager

Un service Docker exposé sur un port comme 8080 fonctionne pour les tests, mais ce n’est pas idéal en production. Un visiteur ne doit pas retenir une adresse du type http://IP_VPS:8080. Il doit accéder à votre application depuis un vrai nom de domaine, avec HTTPS activé. C’est le rôle d’un reverse proxy : recevoir les requêtes sur les ports 80 et 443, puis les transmettre au bon conteneur.

Nginx Proxy Manager simplifie fortement cette étape. Il fournit une interface web pour créer des hôtes proxy, associer des sous-domaines à vos applications Docker et générer des certificats Let’s Encrypt sans écrire manuellement toute la configuration Nginx.

Créez d’abord un dossier dédié :

mkdir -p /opt/nginx-proxy-manager
cd /opt/nginx-proxy-manager

Créez ensuite le fichier compose.yaml :

nano compose.yaml

Ajoutez la configuration suivante :

services:
  npm:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx_proxy_manager
    restart: always
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - npm_data:/data
      - npm_letsencrypt:/etc/letsencrypt

volumes:
  npm_data:
  npm_letsencrypt:

Lancez le service :

docker compose up -d

L’interface d’administration est ensuite disponible depuis :

http://IP_VPS:81

Lors de la première connexion, changez immédiatement les identifiants par défaut. L’interface d’administration ne doit jamais rester protégée par un mot de passe connu publiquement.

Pour publier votre WordPress, créez un nouvel hôte proxy dans Nginx Proxy Manager. Indiquez par exemple wordpress.mondomaine.fr comme nom de domaine, puis redirigez vers l’adresse IP du VPS et le port 8080. Dans l’onglet SSL, demandez un certificat Let’s Encrypt, activez Force SSL et, si disponible, HTTP/2.

Avant cette étape, le sous-domaine doit pointer vers l’adresse IP du VPS dans la zone DNS du nom de domaine. Sans enregistrement DNS correct, Let’s Encrypt ne pourra pas valider le certificat.

En production, l’idéal est de ne laisser ouverts publiquement que les ports nécessaires : 80, 443 et éventuellement 22 pour SSH. Les ports applicatifs comme 8080 doivent servir uniquement d’intermédiaire technique derrière le reverse proxy.

Cette organisation facilite aussi l’ajout de nouvelles applications. Pour chaque service, vous créez simplement un sous-domaine, un proxy host et un certificat. Vous évitez ainsi de multiplier les ports visibles, tout en gardant une administration claire et centralisée de vos déploiements Docker sur le VPS LWS au quotidien plus facilement.

Exemples d’applications self-hostées avec Docker

Une fois Docker installé, votre VPS LWS peut héberger de nombreux services self-hosted. Le principe reste presque toujours identique : un dossier par application, un fichier compose.yaml, des volumes persistants pour les données, puis un reverse proxy pour exposer le service avec un nom de domaine et HTTPS.

Voici quelques applications populaires à envisager :

Application Usage Image Docker RAM minimale indicative

WordPress

Site web CMS

wordpress:latest + mysql:8.0

512 Mo

Nextcloud

Cloud privé

nextcloud:latest

512 Mo

n8n

Automatisation

n8nio/n8n

256 Mo

Uptime Kuma

Monitoring

louislam/uptime-kuma

128 Mo

Vaultwarden

Mots de passe

vaultwarden/server

256 Mo

Ghost

Blog moderne

ghost:latest + mysql:8.0

512 Mo

Gitea

Git auto-hébergé

gitea/gitea

256 Mo

Portainer

Gestion Docker

portainer/portainer-ce

128 Mo

Ces valeurs de mémoire sont indicatives. Elles varient selon le trafic, les extensions installées, la taille des bases de données et le nombre d’utilisateurs connectés. Pour un petit service interne, un VPS modeste suffit souvent. Pour un site public, un cloud personnel ou plusieurs applications simultanées, prévoyez davantage de RAM, de CPU et d’espace disque.

Docker est particulièrement intéressant pour le self-hosting, car il permet de remplacer plusieurs abonnements SaaS par des services hébergés sur votre propre serveur. Vous gardez la maîtrise des données, vous choisissez les versions installées et vous pouvez sauvegarder l’ensemble de votre infrastructure.

Plus d'informations


Pour aller plus loin sur LWS : Plutôt que de gérer Docker manuellement, vous pouvez déployer vos applications Docker avec une interface graphique via Coolify. Il propose une interface graphique qui gère Docker Compose automatiquement, détecte la stack de l’application, gère le SSL, et permet le déploiement depuis GitHub en push-to-deploy.

Dans tous les cas, commencez par une application simple, validez les sauvegardes, puis ajoutez progressivement de nouveaux services. Cette méthode limite les erreurs et rend l’administration du VPS plus lisible.

Gérer et maintenir ses conteneurs

Un déploiement Docker ne s’arrête pas au lancement des conteneurs. Pour garder un VPS stable, il faut prévoir les mises à jour, les sauvegardes, la surveillance des ressources et le nettoyage régulier de l’espace disque. Cette maintenance évite les interruptions de service et limite les mauvaises surprises lors d’une évolution applicative.

Mettre à jour une application

Pour mettre à jour une application gérée avec Docker Compose, placez-vous dans le dossier du projet :

cd /opt/wordpress-docker

Téléchargez les nouvelles images disponibles :

docker compose pull

Recréez ensuite les conteneurs avec les images mises à jour :

docker compose up -d

Cette commande conserve les volumes déclarés, ce qui permet de mettre à jour l’application sans supprimer les données persistantes. Après une mise à jour, vérifiez toujours les logs et le bon fonctionnement du site.

Pour nettoyer les anciennes images inutilisées :

docker image prune -f

Sauvegarder les données (volumes)

Les sauvegardes sont indispensables. Pour sauvegarder une base MySQL WordPress, vous pouvez utiliser :

docker exec wordpress_db mysqldump -u wp_user -p wordpress > backup_$(date +%Y%m%d).sql

Pour sauvegarder un volume complet :

mkdir -p /backup

docker run --rm \
  -v wordpress-docker_wp_data:/source \
  -v /backup:/dest \
  alpine tar czf /dest/wp_data_$(date +%Y%m%d).tar.gz /source

Ces commandes peuvent ensuite être automatisées avec cron et un script Bash, afin de produire des sauvegardes régulières sans intervention manuelle.

Monitoring des ressources

Surveillez également les ressources utilisées par vos conteneurs :

docker stats

Cette commande affiche la consommation CPU, mémoire, réseau et disque en temps réel. Pour obtenir plus d’informations sur un conteneur précis :

docker inspect wordpress_app

Nettoyage de l’espace disque

Enfin, contrôlez l’espace utilisé par Docker :

docker system df

Et supprimez les ressources inutilisées avec prudence :

docker system prune -f

Avant tout nettoyage important, assurez-vous que vos volumes utiles existent toujours et que vos sauvegardes sont récentes.

Vérification du bon fonctionnement

Après chaque installation, mise à jour ou redémarrage du VPS, prenez quelques minutes pour vérifier que vos conteneurs fonctionnent correctement. Commencez par lister les services actifs :

docker ps

Les conteneurs attendus doivent apparaître avec un état Up. Si un service manque ou redémarre en boucle, consultez immédiatement les logs :

docker compose logs [service]

Vérifiez ensuite l’accès applicatif depuis un navigateur. Pour WordPress, testez d’abord l’adresse directe, par exemple http://IP_VPS:8080, puis le nom de domaine HTTPS si vous utilisez Nginx Proxy Manager. Une application peut être active côté Docker mais inaccessible à cause d’un port fermé, d’un DNS mal configuré ou d’un certificat SSL non généré.

Contrôlez aussi les volumes :

docker volume ls

Les volumes du projet doivent être présents, notamment ceux de la base de données et des fichiers applicatifs. Testez enfin la politique de redémarrage. Redémarrez le VPS, reconnectez-vous en SSH, puis relancez :

docker ps

Si restart: always ou restart: unless-stopped est configuré, les services doivent revenir automatiquement. Terminez par un contrôle de l’espace disque :

docker system df

Erreurs fréquentes à éviter lors du déploiement des applications avec Docker

Même avec une installation correcte, certaines erreurs reviennent souvent lors des premiers déploiements Docker. La plupart se résolvent rapidement si vous commencez par lire les logs et vérifier les ports utilisés.

Erreur Cause probable Résolution

docker: command not found

Docker n’est pas installé ou la session ne trouve pas la commande

Relancer l’installation depuis le dépôt officiel Docker, puis ouvrir une nouvelle session SSH

docker compose: unknown command

Le plugin Compose n’est pas disponible

Installer le plugin Compose de Docker, puis vérifier avec docker compose version

address already in use

Le port demandé est déjà utilisé par un autre service

Identifier le service avec ss -tlnp, puis changer le port ou arrêter le processus concerné

permission denied

L’utilisateur n’a pas les droits nécessaires

Utiliser un compte autorisé ou ajouter l’utilisateur au groupe Docker

Données perdues après arrêt du stack

Aucun volume persistant n’était déclaré

Déclarer des volumes nommés pour les bases de données et fichiers applicatifs

Conteneur qui redémarre en boucle

Variable incorrecte, erreur applicative ou dépendance indisponible

Lire docker compose logs [service], corriger la configuration, puis relancer

Limite Docker Hub atteinte

Trop de téléchargements sans authentification

Se connecter avec docker login

Pour diagnostiquer un port occupé :

ss -tlnp

Pour consulter les logs d’un service :

docker compose logs wordpress

Pour vérifier tous les conteneurs, y compris ceux arrêtés :

docker ps -a

Dans la majorité des cas, le message d’erreur indique directement l’origine du problème.

Bonnes pratiques de sécurité

Docker simplifie le déploiement, mais il ne sécurise pas automatiquement votre VPS. Un conteneur reste un processus exécuté sur le serveur. Une image vulnérable, un mot de passe exposé ou un port ouvert inutilement peuvent créer un risque réel.

La première règle consiste à ne jamais exposer le daemon Docker sur Internet. Par défaut, Docker communique via un socket local. Conservez ce fonctionnement, sauf besoin avancé parfaitement maîtrisé. N’activez pas d’accès distant non protégé.

La deuxième règle concerne les secrets. Évitez d’inscrire les mots de passe directement dans compose.yaml, surtout si le fichier est sauvegardé dans Git. Utilisez plutôt un fichier .env non versionné :

MYSQL_DATABASE=wordpress
MYSQL_USER=wp_user
MYSQL_PASSWORD=mot_de_passe_fort_ici
MYSQL_ROOT_PASSWORD=mot_de_passe_root_fort_ici

Puis appelez les variables dans Compose :

environment:
  MYSQL_DATABASE: ${MYSQL_DATABASE}
  MYSQL_USER: ${MYSQL_USER}
  MYSQL_PASSWORD: ${MYSQL_PASSWORD}
  MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}

Ajoutez ensuite .env à votre fichier .gitignore.

La troisième règle est de limiter les ressources. Un conteneur mal configuré peut consommer trop de mémoire ou de CPU et ralentir tout le VPS. Vous pouvez définir des limites adaptées à vos services :

services:
  app:
    image: nginx:latest
    deploy:
      resources:
        limits:
          memory: 512M
          cpus: "0.50"

La quatrième règle est d’utiliser une politique de redémarrage :

restart: unless-stopped

ou :

restart: always

Cela permet aux services de revenir automatiquement après un redémarrage du VPS.

Maintenez aussi Docker, Ubuntu et vos images à jour. Avant une mise à jour importante, effectuez une sauvegarde et, si possible, un snapshot du VPS. Privilégiez les images officielles, les éditeurs vérifiés et les versions documentées. Évitez les images inconnues sans dépôt clair ni historique de maintenance.

Enfin, réduisez l’exposition réseau. En production, seuls les ports nécessaires doivent être ouverts : généralement 22 pour SSH, 80 pour HTTP et 443 pour HTTPS. Les ports applicatifs internes doivent idéalement passer par le reverse proxy, plutôt que d’être accessibles directement depuis Internet.

Trucs et astuces


Pour héberger vos applications Docker en France, le VPS KVM LWS offre une virtualisation KVM, Ubuntu préinstallé, un accès root complet, des sauvegardes automatiques et un support 7j/7. C’est une base adaptée pour déployer WordPress, n8n, Nextcloud, Uptime Kuma ou vos propres applications web conteneurisées.

Commander mon VPS KVM LWS.

Conclusion

Docker est une solution puissante pour déployer des applications sur un VPS LWS de manière propre, reproductible et évolutive. En isolant chaque service dans un conteneur, vous réduisez les conflits de dépendances, facilitez les mises à jour et gardez une organisation claire de votre serveur.⚡ Dans ce guide, vous avez installé Docker Engine sur Ubuntu, vérifié Docker Compose, lancé un premier conteneur Nginx, puis déployé un stack WordPress + MySQL avec volumes persistants. Vous avez aussi vu comment préparer une mise en production plus sérieuse avec Nginx Proxy Manager, surveiller les ressources, sauvegarder les données et éviter les erreurs fréquentes. 💥Docker ne remplace pas les bonnes pratiques d’administration : sécurité, sauvegardes, mises à jour et supervision restent indispensables.

Besoin d’un serveur VPS KVM performant et flexible ?

Découvrez nos offres VPS KVM haut de gamme : des ressources garanties et un contrôle total pour vos projets. Profitez d’un hébergement 100 % SSD, d’un accès root complet, le tout dans un datacenter en France. Démarrez dès maintenant à partir de 4,99 €/mois !

Je choisis mon VPS KVM

Mais sur un VPS KVM LWS, il offre une base solide pour héberger vos sites, outils internes, applications métiers et services self-hosted en 2026. Vous avez des questions, des ajouts ou des suggestions ? Ecrivez-nous dans la section Commentaires.

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.