Docker Compose-generator
Att skriva en docker-compose.yml för hand innebär att komma ihåg exakt indragning, sätta citattecken runt varje portmappning och veta vilken versionssträng ditt Compose-program förstår. Med den här generatorn definierar du tjänster med enkla fält: ett namn, en image, host:container-portmappningar och volymer. Resultatet blir en giltig YAML-fil enligt moderna Compose-specifikationen (utan versionsnyckel) med genomtänkta standardvärden.
Så bygger du en Compose-fil
-
1
Lägg till tjänster
Ange ett namn, en image, host:container-portmappningar och volymer för varje tjänst. Två starttjänster är redan ifyllda.
-
2
Justera eller ta bort rader
Redigera valfritt fält direkt, lägg till en tjänst med knappen + Service eller ta bort en rad du inte behöver.
-
3
Kontrollera YAML-filen
Förhandsvisningen uppdateras medan du skriver: portmappningar sätts inom citattecken och versionsnyckeln utelämnas, enligt moderna Compose-specifikationen.
-
4
Kopiera filen
Kopiera den genererade docker-compose.yml och klistra in den i projektets rotmapp.
Den moderna Compose-specifikationen
Compose V2 (plugin-programmet som följer med Docker Desktop och moderna Docker Engine) följer Compose Specification. Nyckeln version: är avskaffad; generatorn utelämnar den. Nycklarna på översta nivån är services, networks, volumes, configs och secrets.
Tjänstens anatomi
En produktionsnära tjänst ser ut så här:
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
Volymer: bind mount eller namngiven volym
- Bind mount (
./app:/var/www) knyter containern till en sökväg på värden; utmärkt för lokal utveckling eftersom ändringar syns direkt. - Namngiven volym (
pgdata:/var/lib/postgresql/data) hanteras av Docker och består oavsett värdens sökvägar; rätt val för databaser och allt du inte vill radera av misstag medrm -rf. - Anonym volym - undvik. Den överlever omstarter men försvinner utan varning vid
docker compose down -v.
Nätverk
Som standard skapar Compose ett nätverk med projektets namn och ansluter varje tjänst till det. Att deklarera explicita nätverk är användbart när:
- du vill isolera en databas från en tjänst som är öppen för allmänheten;
- du behöver en brygga med ett eget subnät för att anpassa dig till befintlig infrastruktur;
- du vill koppla containrar till ett befintligt externt nätverk (
external: true).
Vanliga misstag att undvika
- Versionsnyckelkonflikter.
version: "3.8"överst hindrar nyare funktioner som healthcheckensstart_intervalfrån att fungera i gammalt Compose; generatorn utelämnar versionsnyckeln. - Citattecken vid portar.
8080:80tolkas i vissa gränsfall som YAML i bas 60; generatorn sätter alltid portmappningar inom citattecken. - Hårdkodade hemligheter. Hemligheter som skrivs direkt i compose.yml hamnar i git. Förvara dem i en
env_fileeller i plattformens hemlighetsarkiv. - depends_on utan villkor. Ett vanligt
depends_on: [db]väntar på att containern startar, inte på att tjänsten är redo. Användcondition: service_healthyoch lägg till en healthcheck på beroendet.
Vanliga frågor
Den aktuella Compose-specifikationen (i linje med Docker Compose V2). Filen utelämnar nyckeln version:, så skrivs moderna Compose-filer. Den fungerar med Docker Compose V2.22 och nyare.
Inte via formuläret i den här versionen. Generatorn fokuserar på tjänstedefinitioner med image, portar och volymer. Du kan lägga till nätverk, miljövariabler, healthchecks och andra nycklar i den genererade YAML-filen för hand innan du använder den.
Nej, verktyget fokuserar på compose.yml. För Dockerfiler, använd Dockerfile-generatorn, som hanterar valet av basimage och COPY/RUN-ordningen för fem stackar.
Nej. Tjänstedefinitionerna används bara för att bygga YAML-filen på den här sidan. De sparas inte, laddas inte upp eller delas.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
Färgpalettgenerator
Skapa monokromatiska, analoga, komplementära, triadiska eller tetradiska färgpaletter från en HEX-basfärg och exportera kopieringsklara CSS-variabler.
Slumpgenerator för bokstäver
Generera slumpade A-Z-bokstäver. Välj antal, versaler, gemener eller blandat läge och använd resultatet för spel, uppgifter eller klassrumsaktiviteter.
HTML-formaterare
Formatera HTML lokalt i webbläsaren med indrag på två eller fyra blanksteg. HTML laddas inte upp eller valideras.
Verktyget finns på andra språk
- Docker Compose 생성기 [KO]
- Trình tạo Docker Compose [VI]
- Docker Compose-generator [NL]
- Docker Compose 生成器 [ZH]
- Docker-Compose-Generator [DE]
- Docker Compose Generator [EN]
- Generator Docker Compose [ID]
- Generator Docker Compose [PL]
- مولّد Docker Compose [AR]
- ตัวสร้าง Docker Compose [TH]
- Generador de Docker Compose [ES]
- Générateur Docker Compose [FR]
- Gerador de Docker Compose [PT]
- Docker Composeジェネレーター [JA]
- Docker Compose Oluşturucu [TR]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]