Docker Compose-generator
Vad som körs i den här stacken
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
Ge varje tjänst ett namn och en image och ange sedan portmappningar, volymer, miljövariabler och omstartspolicy. Två starttjänster är redan ifyllda och startar som de är.
-
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
Granska den genererade YAML-filen: portmappningar står inom citattecken, varje namngiven volym deklareras i slutet av filen och version-nyckeln utelämnas, precis som den moderna Compose-specifikationen förväntar sig.
-
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. Formuläret täcker image, portar, volymer, miljövariabler och omstartspolicy, och deklarerar varje namngiven volym som dina tjänster monterar, precis som Compose kräver. Nätverk och health checks skriver du in för hand i den genererade YAML-filen.
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.
CSS-pilgnerator
Skapa lokalt en CSS-pil med riktning, färg, storlek och ramens tjocklek och kopiera sedan regeln.
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.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Oktal-till-decimal-omvandlare
Omvandla oktala tal (bas 8) till decimalvärden, med den fullständiga positionsformeln och en steg-för-steg-uppdelning.
Markdown-förhandsvisare
Skriv Markdown och se den renderade HTML:en uppdateras live. GitHub-flavored syntax med tabeller, uppgiftslistor, inramad kod och autolänkar.
Verktyget finns på andra språk
- Docker Composeジェネレーター [JA]
- Docker Compose-generator [NL]
- Generador de Docker Compose [ES]
- Trình tạo Docker Compose [VI]
- مولّد Docker Compose [AR]
- Docker Compose 생성기 [KO]
- ตัวสร้าง Docker Compose [TH]
- 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]