Startpagina > Overige externe pakketten > docker compose

Gids voor Docker Compose-opdrachten

Docker Compose is een hulpmiddel voor het definiëren en uitvoeren van Docker-toepassingen met meerdere containers. Met behulp van een YAML-bestand kunt u de services van uw toepassing configureren en alle services met één enkele opdracht starten. Dit maakt het eenvoudig om complexe toepassingsomgevingen te beheren.

Docker Compose installeren

Docker Compose is meestal inbegrepen bij Docker Desktop of kan afzonderlijk worden geïnstalleerd. Hieronder staat hoe u de Docker Compose CLI-plug-in in een Linux-omgeving installeert.

Docker Compose CLI-plug-in op Linux installeren

Installeer de nieuwste Docker Compose CLI-plug-in door deze te downloaden en uitvoerrechten te verlenen. Gebruik deze methode om Docker Compose te installeren als u Docker Desktop niet gebruikt.

Docker Compose-plug-in downloaden en installeren

sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Download de nieuwste versie van de Docker Compose CLI-plug-in, verleen uitvoerrechten en plaats deze op het juiste pad.

Docker Compose-versie controleren

docker compose version

Controleer de Docker Compose-versie om te bevestigen dat de installatie is voltooid.

Belangrijkste Docker Compose-opdrachten

Docker Compose wordt gebruikt om services te beheren die zijn gedefinieerd in een `docker-compose.yml`-bestand. Beheer eenvoudig toepassingen met meerdere containers met de onderstaande opties.

1. Toepassingen bouwen en uitvoeren

2. Toepassingen stoppen en verwijderen

3. Services beheren

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`docker compose` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Structuur van het `docker-compose.yml`-bestand

Docker Compose gebruikt een `docker-compose.yml`-bestand om services, netwerken, volumes en meer te definiëren. Dit bestand is geschreven in YAML-formaat en geeft duidelijk de componenten van de toepassing en hun relaties weer.

Basisstructuur

Het `docker-compose.yml`-bestand heeft top-level keys zoals `version`, `services`, `networks` en `volumes`. Het belangrijkste onderdeel is de sectie `services`, die elke container definieert waaruit de toepassing bestaat.

Voorbeeld van een eenvoudige webtoepassing

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - '80:80'
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - api
  api:
    build: .
    ports:
      - '3000:3000'
    environment:
      NODE_ENV: production
volumes:
  data_volume:

Een `docker-compose.yml`-voorbeeld voor een eenvoudige toepassing die bestaat uit een Nginx-webserver en een Node.js-backendservice.

Uitleg van de sleutels

Verklaringen van de belangrijkste instellingen die vaak worden gebruikt in het `docker-compose.yml`-bestand.

  • version: Specificeert de versie van het Compose-bestandsformaat. Het wordt aanbevolen om de nieuwste versie te gebruiken (bijv. '3.8').
  • services: Deze sectie definieert elke container-service waaruit de toepassing bestaat.
  • image: Specificeert de naam van de Docker-image die moet worden gebruikt voor de service. (bijv. `nginx:latest`)
  • build: Specificeert het pad naar het Dockerfile om de image te bouwen. (bijv. `.` )
  • ports: Definieert poortmappings tussen de host en de container. (bijv. `- '80:80'`)
  • volumes: Definieert volume-mounts voor gegevenspersistentie. (bijv. `- ./data:/app/data`)
  • environment: Definieert omgevingsvariabelen die in de container moeten worden ingesteld.
  • depends_on: Definieert afhankelijkheden tussen services. (bijv. wanneer de `db`-service moet worden gestart vóór de `web`-service)
  • networks: Definieert de netwerken waarmee de service verbinding zal maken.

Gebruiksvoorbeelden

Leer hoe u toepassingen met meerdere containers efficiënt beheert aan de hand van praktische gebruiksvoorbeelden van Docker Compose-opdrachten.

Een Docker Compose-project starten (op de achtergrond)

docker compose up -d

Leest het `docker-compose.yml`-bestand in de huidige map en start alle services op de achtergrond.

Een specifieke service opnieuw opstarten

docker compose restart web

Herstart alleen de 'web'-service die is gedefinieerd in `docker-compose.yml`.

Logs in real-time bekijken

docker compose logs -f

Streamt logs van alle services in real-time naar de terminal om het gedrag van de toepassing te controleren.

De toepassing stoppen en gerelateerde bronnen verwijderen

docker compose down -v

Stopt en verwijdert alle actieve servicecontainers, en verwijdert ook de gedefinieerde netwerken en anonieme volumes.

Het pad naar het Docker Compose-bestand opgeven

docker compose -f /path/to/my-app/docker-compose.prod.yml up -d

Voert een Compose-bestand uit met een andere naam of op een ander pad in plaats van het standaard `docker-compose.yml`-bestand.


Hétzelfde categoriecommando