Procédure
Le template Docker CE installe Docker CE, Docker Compose et Buildx sur votre VPS KVM LWS, sans paquet à ajouter à la main. Ce guide vous apprend à réinstaller votre serveur avec ce template, puis à l'utiliser au quotidien avec Docker Compose. Vous verrez comment lancer un site, suivre ses journaux, conserver ses données, le mettre à jour et l'exposer sur Internet.
Connectez-vous à votre espace client LWS et ouvrez l'onglet Serveurs. Repérez votre VPS, puis cliquez sur Gérer pour ouvrir son interface.
Dans le menu latéral gauche, cliquez sur Réinstallation. Le catalogue des systèmes et des applications s'affiche.
Dans la section des applications, sous la catégorie Docker, choisissez par exemple Docker CE ubuntu-24-04.
Dans Clés SSH à installer (optionnel), cochez votre clé SSH. Cliquez ensuite sur Réinstaller le serveur en bas à droite.
Dans la fenêtre d'avertissement, saisissez le nom exact de votre serveur, puis cliquez sur le bouton rouge Réinstallation.
Le système crée votre environnement avec Docker CE, Docker Compose et Buildx. L'opération prend généralement entre 3 et 5 minutes.
Quand le serveur repasse sur ON avec la mention Docker CE, notez son adresse IPv4 dans le bloc IPs du serveur. Ouvrez un terminal sur votre poste et connectez-vous en root, en remplaçant l'IP d'exemple par la vôtre.
ssh root@203.0.113.10
Affichez les versions de Docker et de Docker Compose. Lancez ensuite le conteneur de test hello-world : il affiche un message puis s'arrête.
docker --version
docker compose version
docker run --rm hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.Un fichier compose.yaml décrit vos conteneurs. Créez un dossier de projet avec un sous-dossier pour les pages du site et une page d'accueil. Créez ensuite le fichier compose.yaml : il lance Nginx, publie le port 8080 du serveur vers le port 80 du conteneur, monte le dossier local en lecture seule et redémarre le conteneur sauf arrêt manuel.
mkdir -p /root/mon-site/html
cd /root/mon-site
echo '<h1>Bonjour depuis Docker</h1>' > html/index.html
nano compose.yamlservices:
web:
image: nginx:stable
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stoppedDepuis le dossier du projet, démarrez les services en arrière-plan. Docker télécharge l'image la première fois, puis crée le conteneur. Testez ensuite la réponse du site depuis le serveur.
cd /root/mon-site
docker compose up -d
curl http://localhost:8080<h1>Bonjour depuis Docker</h1>Listez les conteneurs du projet pour vérifier leur état. Suivez ensuite leurs journaux en direct pour repérer une erreur ou voir les requêtes reçues. Quittez le suivi avec Ctrl+C : les conteneurs continuent de tourner.
docker compose ps
docker compose logs -fLe contenu d'un conteneur disparaît quand celui-ci est supprimé. Pour conserver des données, placez-les dans un volume. Dans l'exemple, le dossier html est monté dans le conteneur : vos pages restent sur le serveur. Pour une base de données, utilisez plutôt un volume nommé, déclaré dans le fichier compose.yaml. Les commandes ci-dessous listent les volumes et affichent l'emplacement de l'un d'eux.
docker volume ls
docker volume inspect nom_du_volumePour passer à une version plus récente de l'image, téléchargez-la puis recréez le conteneur. Docker ne remplace que les services dont l'image a changé. Vos volumes sont conservés.
cd /root/mon-site
docker compose pull
docker compose up -dAvec restart: unless-stopped dans le fichier compose.yaml, le conteneur redémarre après un redémarrage du serveur. Il reste arrêté si vous l'avez stoppé vous-même. Le service Docker démarre seul avec le système : vérifiez-le avec la commande ci-dessous.
systemctl is-enabled dockerenabledLa première commande arrête et supprime les conteneurs du projet, mais garde vos fichiers et vos volumes. La seconde supprime les conteneurs arrêtés, les réseaux inutilisés et les images orphelines (sans étiquette). Docker vous demande une confirmation avant de l'exécuter.
docker compose down
docker system pruneLa ligne ports du fichier compose.yaml publie un port du serveur. Avec 8080:80, le site répond sur le port 8080 de l'IP du serveur, par exemple http://203.0.113.10:8080. Si le pare-feu est actif sur votre VPS, ouvrez ce port dans le menu Pare-feu du panel KVM. Pour utiliser un nom de domaine comme exemple.com, faites-le pointer vers l'IP du serveur auprès de votre gestionnaire de DNS.
curl http://203.0.113.10:8080<h1>Bonjour depuis Docker</h1>Non. Le template Docker CE intègre le moteur Docker CE ainsi que les extensions Docker Compose et Docker Buildx. Ils sont utilisables dès la fin de la réinstallation.
Les clés SSH sont injectées dans le compte root uniquement pendant l'installation du système. Si vous ajoutez une clé plus tard, ajoutez-la vous-même dans le fichier ~/.ssh/authorized_keys.
Publiez le port avec la section ports du fichier compose.yaml, par exemple 8080:80. Si le pare-feu est actif, ouvrez aussi ce port dans le menu Pare-feu du panel KVM.
Pour un volume nommé, Docker les place sur le disque du serveur, sous /var/lib/docker/volumes. La commande docker volume inspect indique l'emplacement exact. Pour un dossier monté comme ./html, les données restent dans votre dossier de projet.
Depuis le dossier du projet, lancez docker compose ps -a pour voir l'état de chaque service, puis docker compose logs nom_du_service pour lire ses messages d'erreur. Une faute d'indentation dans le fichier compose.yaml est une cause fréquente.
Ajoutez restart: unless-stopped au service dans le fichier compose.yaml, puis relancez docker compose up -d. Le service Docker démarre avec le système et relance alors vos conteneurs.
Une image est un modèle figé qui contient le code et ses dépendances. Le conteneur est l'instance en cours d'exécution créée à partir de cette image.
Non. La réinstallation écrase le disque local et supprime définitivement les données ainsi que les snapshots existants.
Posez-la à l'équipe LWS et à la communauté. Réponse publiée après modération.