Docker Compose is bijzonder geschikt voor ontwikkel- en testomgevingen, maar ook voor kleinere productie-implementaties. We leggen uit hoe u met Compose eenvoudig Docker-applicaties op Ubuntu kunt orkestreren.

Wat zijn de vereisten voor Docker Compose op Ubuntu?

Voordat u Docker Compose kunt gebruiken, moet u ervoor zorgen dat uw systeem aan de volgende vereisten voldoet:

  • Docker Engine: Compose is een uitbreiding op de Docker Engine die u moet installeren.
  • Besturingssysteem: Ubuntu, sudo-gebruiker met root-rechten.
Tip

Als u een ander besturingssysteem dan Linux wilt gebruiken, raadpleeg dan onze handleiding voor het installeren van Docker Compose op Windows en Docker Compose op macOS.

Stapsgewijze handleiding voor het installeren van Docker Compose op Ubuntu

Om Docker Compose op Ubuntu te gebruiken, moet u eerst Docker Engine installeren en controleren of het correct werkt. Zodra Docker werkt, downloadt u Compose en maakt u het YAML-bestand aan om uw applicaties te configureren.

Stap 1: Download en installeer Docker Compose

Download de nieuwste versie van Docker Compose uit de officiële GitHub-repository door de volgende opdracht in een terminal in te voeren:

$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shell

Nu kunt u Docker Compose uitvoerrechten geven:

$ sudo chmod +x /usr/local/bin/docker-compose
shell

Gebruik optie --version om te controleren of Compose succesvol is geïnstalleerd.

$ docker-compose --version
shell

Je krijgt de volgende uitvoer:

Afbeelding: Docker Compose Version
If you see the version number, Docker Compose has been successfully installed.

Als de installatie mislukt, controleer dan het pad.

U kunt ook een symbolische link naar het pad /usr/bin maken:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shell

Stap 2: Configureer het bestand docker-compose.yml

Om het ontwerp van een Docker Compose YAML-bestand te demonstreren, gebruiken we de Nginx-image van de officiële Docker Hub voor de containeromgeving.

Maak eerst een nieuwe map aan in uw homedirectory:

$ mkdir ~/compose-test
shell

Ga naar de map en maak een nieuwe map aan voor de hoofdmap van uw Nginx-omgeving.

$ cd ~/compose-test
$ mkdir app
shell

Je kunt elke teksteditor zoals nano gebruiken om index.html aan te maken.

$ nano app/index.html
shell

Hier is de HTML-code voor een voorbeeldpagina:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
html

Sla het HTML-bestand op en sluit het. Maak vervolgens het bestand docker-compose.yml aan.

$ nano docker-compose.yml
shell

De inhoud is onderverdeeld in het versienummer van de configuratie en het dienstenblok.

version: '3.9'
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
YAML

Binnen het dienstenblok is er één dienst met de naam ‘web’. Deze is gekoppeld aan de opgegeven Nginx-image en poortomleiding. In onze configuratie worden alle verzoeken aan poort 8000 op de hostmachine omgeleid naar de webcontainer op poort 80, waar Nginx draait. Verder gebruiken we een gedeeld volume tussen de host en de container. Hierdoor is de lokale map ‘app’ toegankelijk voor de Nginx-applicatie.

Stap 3: Voer Docker Compose uit

Met het volgende commando maken we een webcontainer aan en draaien we de containeromgeving op de achtergrond:

$ docker-compose up -d
shell

Als de afbeelding die in het YAML-bestand is opgegeven niet op het lokale systeem aanwezig is, wordt deze automatisch gedownload.

Om te testen of de Nginx-omgeving actief is, voert u het commando ps in.

$ docker-compose ps
shell

De voorbeeldpagina die u eerder hebt gemaakt, is nu toegankelijk op localhost:8000 wanneer u de demo op uw computer uitvoert. Als u een externe server gebruikt, hoeft u alleen maar het IP-adres van uw server op te geven in plaats van ‘localhost’.

Afbeelding: Docker Compose sample page
Sample page for an Nginx container

U kunt de containertoepassing stoppen met behulp van stop.

$ docker-compose stop
shell
Ga naar hoofdmenu