Docker Compose-generator
Een docker-compose.yml met de hand schrijven betekent dat je de exacte inspringing onthoudt, elke poorttoewijzing tussen aanhalingstekens zet en weet welke versietekenreeks jouw Compose-programma begrijpt. Deze generator laat je services definiëren met eenvoudige velden: een naam, een image, host:container-poorttoewijzingen en volumes. Hij levert een geldig YAML-bestand volgens de moderne Compose-specificatie (zonder versiesleutel) met verstandige standaardwaarden.
Zo bouw je een Compose-bestand
-
1
Services toevoegen
Geef elke service een naam, een image, host:container-poorttoewijzingen en volumes. Er staan al twee voorbeeldservices ingevuld.
-
2
Rijen aanpassen of verwijderen
Bewerk elk veld rechtstreeks, voeg met de knop + Service een service toe of verwijder een rij die je niet nodig hebt.
-
3
Het gegenereerde YAML controleren
De preview werkt bij terwijl je typt: poorttoewijzingen krijgen aanhalingstekens en de versiesleutel wordt weggelaten, zoals de moderne Compose-specificatie verwacht.
-
4
Het bestand kopiëren
Kopieer de gegenereerde docker-compose.yml en plak hem in de hoofdmap van je project.
De moderne Compose-specificatie
Compose V2 (de plug-in die bij Docker Desktop en moderne Docker Engine hoort) volgt de Compose Specification. De sleutel version: is verouderd; de generator laat hem weg. De sleutels op het hoogste niveau zijn services, networks, volumes, configs en secrets.
Anatomie van een service
Een productiegerichte service ziet er zo uit:
services:
web:
image: nginx:1.27-alpine
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./public:/usr/share/nginx/html:ro
depends_on:
app:
condition: service_healthy
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost/health"]
interval: 30s
timeout: 5s
retries: 3
Volumes: bind mount of benoemd volume
- Bind mount (
./app:/var/www) verbindt de container met een pad op de host; ideaal voor lokale ontwikkeling omdat wijzigingen direct zichtbaar zijn. - Benoemd volume (
pgdata:/var/lib/postgresql/data) wordt door Docker beheerd en blijft bestaan los van elk hostpad; de juiste keuze voor databases en alles wat je niet per ongeluk metrm -rfwilt verwijderen. - Anoniem volume - vermijd. Het overleeft herstarts maar verdwijnt zonder waarschuwing bij
docker compose down -v.
Netwerken
Standaard maakt Compose een netwerk met de naam van het project en verbindt het elke service daarmee. Expliciete netwerken declareren is nuttig wanneer:
- je een database wilt isoleren van een publiek bereikbare service;
- je een bridge met een eigen subnet nodig hebt om aan te sluiten op bestaande infrastructuur;
- je containers wilt koppelen aan een bestaand extern netwerk (
external: true).
Veelgemaakte fouten om te vermijden
- Conflicten met de versiesleutel.
version: "3.8"bovenaan voorkomt dat nieuwere functies zoalsstart_intervalvan de healthcheck werken in oud Compose; de generator laat de versiesleutel weg. - Aanhalingstekens bij poorten.
8080:80wordt in sommige randgevallen als YAML in grondtal 60 gelezen; de generator zet poorttoewijzingen altijd tussen aanhalingstekens. - Ingesloten geheimen. Geheimen die direct in compose.yml staan, belanden in git. Bewaar ze in een
env_fileof in de geheimenopslag van het platform. - depends_on zonder voorwaarde. Een gewoon
depends_on: [db]wacht tot de container start, niet tot de service klaar is. Gebruikcondition: service_healthyen voeg een healthcheck toe aan de afhankelijkheid.
Veelgestelde vragen
Op de huidige Compose Specification (afgestemd op Docker Compose V2). Het bestand laat de sleutel version: weg, zo worden moderne Compose-bestanden geschreven. Het werkt met Docker Compose V2.22 en nieuwer.
In deze versie niet via het formulier. De generator richt zich op servicedefinities met image, poorten en volumes. Je kunt netwerken, omgevingsvariabelen, healthchecks en andere sleutels met de hand aan het gegenereerde YAML toevoegen voordat je het gebruikt.
Nee, dit hulpmiddel richt zich op compose.yml. Voor Dockerfiles gebruik je de Dockerfile-generator, die de keuze van het basis-image en de COPY/RUN-volgorde voor vijf stacks verzorgt.
Nee. De servicedefinities dienen alleen om het YAML op deze pagina te bouwen. Ze worden niet opgeslagen, geüpload of gedeeld.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
HAR-bestandsviewer
Open HAR-netwerkopnamen lokaal, filter verzoeken, bekijk gemaskeerde headers en timing en exporteer opgeschoonde samenvattingen zonder upload.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Tool beschikbaar in andere talen
- Docker Compose Oluşturucu [TR]
- Generador de Docker Compose [ES]
- مولّد Docker Compose [AR]
- Générateur Docker Compose [FR]
- Docker Compose 생성기 [KO]
- Generator Docker Compose [ID]
- Docker Compose Generator [EN]
- Trình tạo Docker Compose [VI]
- Docker Compose 生成器 [ZH]
- Docker Composeジェネレーター [JA]
- ตัวสร้าง Docker Compose [TH]
- Gerador de Docker Compose [PT]
- Docker-Compose-Generator [DE]
- Docker Compose-generator [SV]
- Generator Docker Compose [PL]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]