Docker Compose voor Zelfhosting: Volledige Installatiegids
In de wereld van zelfhosting is Docker Compose een onmisbaar hulpmiddel voor ontwikkelaars die eenvoudig meerdere Docker-containers willen beheren. Deze gids loodst je door het hele installatieproces, zodat je je zelf-gehoste applicaties met minimale moeite kunt uitrollen op je gekozen VPS-provider.
Wat is Docker Compose?
Docker Compose is een commandoregeltool die het proces van het definiëren en uitvoeren van multi-container applicaties vereenvoudigt. Het gebruikt een eenvoudig YAML-bestand om de services, netwerken en volumes van je applicatie te configureren, waardoor je complexe applicaties met één commando kunt uitrollen. Deze stroomlijning van het uitrolproces is vooral handig voor degenen die meerdere services tegelijkertijd op hun VPS draaien.
Vereisten
Voordat je aan de slag gaat met Docker Compose, zorg dat je het volgende hebt:
- Een VPS Provider: Kies bijvoorbeeld uit opties zoals Contabo VPS, Hetzner Cloud, DigitalOcean, Vultr of Linode. Prijzen beginnen bij EUR 4.15/maand.
- Docker Geïnstalleerd: Je moet Docker op je VPS geïnstalleerd hebben. Als dat nog niet het geval is, kun je het installeren door de officiële installatiegids van Docker te volgen.
- Basiskennis CLI: Vertrouwdheid met de commandoregel maakt het installatie- en beheerproces eenvoudiger.
Docker Compose Installeren
Om Docker Compose te installeren, voer je de volgende commando’s uit in je terminal:
sudo apt-get update
sudo apt-get install docker-compose
Om de installatie te controleren, gebruik je:
docker-compose --version
Je Eerste Docker Compose Bestand Maken
Laten we nu een eenvoudige applicatie maken met Docker Compose. We zetten een eenvoudige webserver op met Nginx als voorbeeld.
-
Maak een Projectdirectory:
mkdir mijnproject cd mijnproject -
Maak
docker-compose.ymlaan: Gebruik je favoriete teksteditor om eendocker-compose.ymlbestand te maken.
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
- Maak HTML Directory aan:
mkdir html echo "<h1>Hallo Wereld</h1>" > html/index.html
Docker Compose Uitvoeren
Om de applicatie te starten, voer je het volgende commando uit:
docker-compose up -d
Dit commando start je webservice in detached modus. Je kunt de logs bekijken met:
docker-compose logs
Om je services te stoppen, gebruik je:
docker-compose down
Beheren van Multi-Container Applicaties
Docker Compose komt echt tot zijn recht bij het beheren van multi-container applicaties. Laten we onze docker-compose.yml uitbreiden met een database. Hier is een bijgewerkt voorbeeld:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: voorbeeld
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Deze configuratie zet een Nginx webserver en een MySQL database op. Met Docker Compose kun je meerdere services naadloos tegelijk draaien.
Overzicht van Populaire VPS Providers
Om je te helpen de juiste VPS te kiezen voor je zelfhosting, hier een vergelijking van populaire providers:
| Provider | Maandprijs | CPU Kernen | RAM | Opslag |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 2 | 4 GB | 100 GB SSD |
| Hetzner Cloud | 4.15 EUR | 1 | 2 GB | 20 GB SSD |
| DigitalOcean | 6 USD | 1 | 1 GB | 25 GB SSD |
| Vultr | 6 USD | 1 | 1 GB | 25 GB SSD |
| Linode | 5 USD | 1 | 1 GB | 25 GB SSD |
Deze providers voldoen aan uiteenlopende behoeften en budgetten. Voor een uitgebreidere vergelijking van VPS-opties, bekijk onze volle VPS vergelijking.
FAQ
Hoe werkt Docker Compose?
Docker Compose werkt door een YAML-configuratiebestand (docker-compose.yml) te lezen dat de services van je applicatie beschrijft, samen met hun instellingen zoals netwerken en volumes. Wanneer je docker-compose up uitvoert, bouwt het de vermelde containers en koppelt ze zoals aangegeven. Dit maakt eenvoudige orkestratie van multi-container applicaties mogelijk, het stroomlijnt het uitrolproces en verhoogt de productiviteit en betrouwbaarheid.
Kan ik Docker Compose draaien op een VPS met lage specs?
Ja, Docker Compose kan draaien op een VPS met lage specificaties; de prestaties hangen echter af van de toegewezen resources. Bij het draaien van meerdere containers op beperkte middelen, zoals een VPS met 1 GB RAM en 1 CPU-core, is het belangrijk om minimale en efficiënte configuraties te kiezen. Kies voor lichte applicaties. Contabo en Hetzner bieden betaalbare plannen met voldoende resources voor het ontwikkelen en testen van applicaties.
Is Docker Compose geschikt voor productieomgevingen?
Absoluut, Docker Compose is geschikt voor productie. Zorg er wel voor dat je beste praktijken volgt, zoals het definiëren van service-afhankelijkheden en het gebruik van externe volumes voor persistente data. Gebruik Docker Swarm of Kubernetes bovenop Docker Compose als je orchestratie op grote schaal nodig hebt. Voer altijd grondige tests uit voordat je applicaties in productie neemt, om risico’s te minimaliseren en stabiele prestaties te garanderen.
Kortom, Docker Compose stroomlijnt het beheer van zelf-gehoste applicaties en is daarmee een onmisbaar hulpmiddel voor ontwikkelaars. Met de juiste VPS-provider en zorgvuldige configuratie kun je meerdere applicaties efficiënt in een containerized omgeving draaien. --- EIND ---