Procédure
De Docker CE-template installeert Docker CE, Docker Compose en Buildx op uw LWS KVM VPS, zonder dat u pakketten handmatig hoeft toe te voegen. Deze handleiding leert u hoe u uw server opnieuw installeert met deze template en deze daarna dagelijks gebruikt met Docker Compose. U ziet hoe u een site start, de logs volgt, gegevens behoudt, bijwerkt en online zet.
Log in op uw LWS-klantomgeving en open het tabblad Servers. Zoek uw VPS en klik vervolgens op Beheren om de interface te openen.
Klik in het linkermenu op Herinstallatie. De catalogus met systemen en toepassingen wordt weergegeven.
Kies in de applicatiesectie, onder de categorie Docker, bijvoorbeeld Docker CE ubuntu-24-04.
Vink onder Te installeren SSH-sleutels (optioneel) uw SSH-sleutel aan. Klik vervolgens rechtsonder op Server opnieuw installeren.
Typ in het waarschuwingsvenster de exacte naam van uw server en klik vervolgens op de rode knop Herinstallatie.
Het systeem maakt uw omgeving aan met Docker CE, Docker Compose en Buildx. De operatie duurt doorgaans tussen 3 en 5 minuten.
Wanneer de server weer op ON staat met de vermelding Docker CE, noteer dan het IPv4-adres in het blok Server IP's. Open een terminal op uw computer en log in als root, waarbij u het voorbeeld-IP vervangt door het uwe.
ssh root@203.0.113.10
Toon de versies van Docker en Docker Compose. Start vervolgens de hello-world testcontainer: deze geeft een bericht weer en stopt daarna.
docker --version
docker compose version
docker run --rm hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.Een compose.yaml-bestand beschrijft uw containers. Maak een projectmap met een submap voor de webpagina's en een startpagina. Maak vervolgens het compose.yaml-bestand aan: het start Nginx, publiceert poort 8080 van de server naar poort 80 van de container, koppelt de lokale map alleen-lezen en herstart de container behalve bij handmatige stop.
mkdir -p /root/mijn-site/html
cd /root/mijn-site
echo 'Hallo vanuit Docker
' > html/index.html
nano compose.yamlservices:
web:
image: nginx:stable
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stoppedStart vanuit de projectmap de services op de achtergrond. Docker downloadt het image de eerste keer en maakt vervolgens de container aan. Test daarna de reactie van de site vanaf de server.
cd /root/mijn-site
docker compose up -d
curl http://localhost:8080Hallo vanuit Docker
Som de containers van het project op om hun status te controleren. Volg vervolgens hun logs live om een fout op te sporen of de ontvangen verzoeken te zien. Sluit het volgen af met Ctrl+C: de containers blijven draaien.
docker compose ps
docker compose logs -fDe inhoud van een container verdwijnt wanneer deze wordt verwijderd. Om gegevens te behouden, plaatst u ze in een volume. In het voorbeeld wordt de html-map in de container gemount: uw pagina's blijven op de server staan. Voor een database gebruikt u beter een benoemd volume, gedefinieerd in het compose.yaml-bestand. De onderstaande commando's tonen de volumes en geven de locatie van een ervan weer.
docker volume ls
docker volume inspect volume_naamOm over te stappen naar een nieuwere versie van het image, downloadt u het en maakt u vervolgens de container opnieuw aan. Docker vervangt alleen de services waarvan het image is gewijzigd. Uw volumes blijven behouden.
cd /root/mijn-site
docker compose pull
docker compose up -dMet restart: unless-stopped in het compose.yaml-bestand start de container opnieuw op na een herstart van de server. Hij blijft gestopt als u hem zelf hebt gestopt. De Docker-service start vanzelf met het systeem: controleer dit met het onderstaande commando.
systemctl is-enabled dockerenabledHet eerste commando stopt en verwijdert de containers van het project, maar behoudt uw bestanden en volumes. Het tweede verwijdert gestopte containers, ongebruikte netwerken en weesimages (zonder label). Docker vraagt om bevestiging voordat het wordt uitgevoerd.
docker compose down
docker system pruneDe regel ports in het compose.yaml-bestand publiceert een poort van de server. Met 8080:80 reageert de site op poort 8080 van het IP-adres van de server, bijvoorbeeld http://203.0.113.10:8080. Als de firewall actief is op uw VPS, open dan deze poort in het menu Firewall van het KVM-paneel. Om een domeinnaam zoals example.com te gebruiken, laat u deze bij uw DNS-beheerder naar het IP-adres van de server wijzen.
curl http://203.0.113.10:8080Hallo vanuit Docker
Nee. De Docker CE-template bevat de Docker CE-engine evenals de extensies Docker Compose en Docker Buildx. Ze zijn direct na de herinstallatie te gebruiken.
SSH-sleutels worden alleen tijdens de installatie van het systeem in het root-account geïnjecteerd. Als u later een sleutel toevoegt, voeg die dan zelf toe in het bestand ~/.ssh/authorized_keys.
Publiceer de poort met de sectie ports in het compose.yaml-bestand, bijvoorbeeld 8080:80. Als de firewall actief is, open dan ook deze poort in het menu Firewall van het KVM-paneel.
Voor een benoemd volume plaatst Docker deze op de schijf van de server, onder /var/lib/docker/volumes. Het commando docker volume inspect geeft de exacte locatie aan. Voor een map die is gemount als ./html blijven de gegevens in uw projectmap staan.
Start vanuit de projectmap docker compose ps -a om de status van elke service te zien, en vervolgens docker compose logs naam_van_de_service om de foutmeldingen te lezen. Een fout in de inspringing van het compose.yaml-bestand is een veelvoorkomende oorzaak.
Voeg restart: unless-stopped toe aan de service in het compose.yaml-bestand en voer daarna docker compose up -d opnieuw uit. De Docker-service start met het systeem en start vervolgens uw containers opnieuw.
Een image is een vast model dat de code en afhankelijkheden bevat. De container is de draaiende instantie die op basis van dit image wordt aangemaakt.
Nee. De herinstallatie overschrijft de lokale schijf en verwijdert definitief de gegevens en de bestaande snapshots.
Stel ze aan het LWS-team en de community. Het antwoord wordt na moderatie gepubliceerd.