Docker Compose-generator
Wat draait er in deze stack
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 en een image en daarna de poortmappings, volumes, omgevingsvariabelen en het herstartbeleid. Er staan al twee startservices klaar, en die draaien zoals ze zijn.
-
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
Controleer de gegenereerde YAML: poortmappings staan tussen aanhalingstekens, elk named volume wordt aan het eind van het bestand gedeclareerd en de version-sleutel blijft weg, 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.
Via het formulier niet. Het formulier dekt image, poorten, volumes, omgevingsvariabelen en het herstartbeleid, en declareert elk named volume dat je services mounten, zoals Compose vereist. Netwerken en health checks zet je met de hand in de gegenereerde YAML.
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
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
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.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
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.
Tool beschikbaar in andere talen
- Docker Composeジェネレーター [JA]
- Generador de Docker Compose [ES]
- Trình tạo Docker Compose [VI]
- مولّد Docker Compose [AR]
- Docker Compose 생성기 [KO]
- ตัวสร้าง Docker Compose [TH]
- Docker Compose-generator [SV]
- Générateur Docker Compose [FR]
- Generator Docker Compose [ID]
- Docker-Compose-Generator [DE]
- Generator Docker Compose [PL]
- Gerador de Docker Compose [PT]
- Docker Compose Generator [EN]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]
- Docker Compose Oluşturucu [TR]
- Docker Compose 生成器 [ZH]