Docker-Compose-Generator
Eine docker-compose.yml von Hand zu schreiben bedeutet, sich die exakte Einrückung zu merken, jeden Port-Mapping in Anführungszeichen zu setzen und zu wissen, welche Versionszeichenfolge Ihre Compose-Binärdatei versteht. Mit diesem Generator definieren Sie Services über einfache Felder: einen Namen, ein Image, Host:Container-Port-Mappings und Volumes. Das Ergebnis ist eine gültige YAML-Datei nach dem modernen Compose-Spec (ohne Versionsschlüssel) mit sinnvollen Voreinstellungen.
So bauen Sie eine Compose-Datei
-
1
Services hinzufügen
Legen Sie für jeden Service einen Namen, ein Image, Host:Container-Port-Mappings und Volumes fest. Zwei Beispiel-Services sind bereits ausgefüllt.
-
2
Zeilen anpassen oder entfernen
Bearbeiten Sie jedes Feld direkt, fügen Sie mit der Schaltfläche + Service einen weiteren Service hinzu oder entfernen Sie eine Zeile, die Sie nicht brauchen.
-
3
Das generierte YAML prüfen
Die Vorschau aktualisiert sich beim Tippen: Port-Mappings werden in Anführungszeichen gesetzt und der Versionsschlüssel weggelassen, wie es das moderne Compose-Spec verlangt.
-
4
Die Datei kopieren
Kopieren Sie die generierte docker-compose.yml und fügen Sie sie in das Stammverzeichnis Ihres Projekts ein.
Das moderne Compose-Spec
Compose V2 (das Plugin, das mit Docker Desktop und moderner Docker Engine ausgeliefert wird) folgt der Compose Specification. Der Schlüssel version: ist veraltet; der Generator lässt ihn weg. Die Schlüssel der obersten Ebene sind services, networks, volumes, configs und secrets.
Anatomie eines Services
Ein produktionsnaher Service sieht so aus:
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 vs. benanntes Volume
- Bind-Mount (
./app:/var/www) bindet den Container an einen Pfad auf dem Host; ideal für die lokale Entwicklung, weil Änderungen sofort wirken. - Benanntes Volume (
pgdata:/var/lib/postgresql/data) wird von Docker verwaltet und bleibt unabhängig von jedem Host-Pfad bestehen; die richtige Wahl für Datenbanken und alles, was Sie nicht versehentlich mitrm -rflöschen möchten. - Anonymes Volume - vermeiden. Es übersteht Neustarts, verschwindet aber bei
docker compose down -vohne Warnung.
Netzwerke
Standardmäßig erstellt Compose ein nach dem Projekt benanntes Netzwerk und verbindet jeden Service damit. Explizite Netzwerke zu deklarieren ist sinnvoll, wenn:
- Sie eine Datenbank von einem öffentlich erreichbaren Service isolieren möchten.
- Sie eine Bridge mit einem eigenen Subnetz brauchen, um sich an die bestehende Infrastruktur anzupassen.
- Sie Container an ein bestehendes externes Netzwerk anschließen möchten (
external: true).
Häufige Fehler, die Sie vermeiden sollten
- Konflikte beim Versionsschlüssel.
version: "3.8"ganz oben verhindert, dass neuere Funktionen wiestart_intervaldes Healthchecks in altem Compose funktionieren; der Generator lässt den Versionsschlüssel weg. - Anführungszeichen bei Ports.
8080:80wird in manchen Randfällen als YAML-Basis-60 interpretiert; der Generator setzt Port-Mappings immer in Anführungszeichen. - Hartkodierte Geheimnisse. Direkt in compose.yml geschriebene Geheimnisse landen im Git-Commit. Legen Sie sie in einer
env_fileoder im Geheimnisspeicher der Plattform ab. - depends_on ohne Bedingung. Ein simples
depends_on: [db]wartet auf den Containerstart, nicht darauf, dass der Service bereit ist. Verwenden Siecondition: service_healthyund fügen Sie der Abhängigkeit einen Healthcheck hinzu.
Häufig gestellte Fragen
Auf die aktuelle Compose Specification (ausgerichtet an Docker Compose V2). Die Datei lässt den Schlüssel version: weg, so werden moderne Compose-Dateien geschrieben. Sie funktioniert mit Docker Compose V2.22 und neuer.
In dieser Version nicht über das Formular. Der Generator konzentriert sich auf Service-Definitionen mit Image, Ports und Volumes. Sie können dem generierten YAML vor der Verwendung von Hand Netzwerke, Umgebungsvariablen, Healthchecks und weitere Schlüssel hinzufügen.
Nein, dieses Werkzeug konzentriert sich auf compose.yml. Für Dockerfiles nutzen Sie den Dockerfile-Generator, der die Wahl des Basis-Images und die COPY/RUN-Reihenfolge für fünf Stacks übernimmt.
Nein. Die Service-Definitionen werden nur dazu verwendet, das YAML auf dieser Seite zu erzeugen. Sie werden nicht gespeichert, hochgeladen oder geteilt.
Verwandte Tools
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
Referenz für Tastenkombinationen
Durchsuchen Sie dokumentierte Standardkürzel für VS Code, Chrome und Bash mit GNU Readline unter macOS, Windows und Linux.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
Telefonnummern prüfen
Prüfen Sie die Struktur von Telefonnummern nach Land und zeigen Sie Region, Typ sowie E.164-, internationale, nationale und RFC-3966-Formate an.
Zufälliger Farbgenerator
Erzeuge 1 bis 50 zufällige HEX-Farben mit Farbfeldern zum Prüfen, Kopieren und Verwenden in CSS, Tests oder Palettenideen.
Tool in anderen Sprachen verfügbar
- مولّد Docker Compose [AR]
- ตัวสร้าง Docker Compose [TH]
- Generator Docker Compose [PL]
- Trình tạo Docker Compose [VI]
- Generator Docker Compose [ID]
- Docker Compose-generator [NL]
- Docker Compose 생성기 [KO]
- Docker Compose Generator [EN]
- Docker Composeジェネレーター [JA]
- Docker Compose Oluşturucu [TR]
- Docker Compose 生成器 [ZH]
- Gerador de Docker Compose [PT]
- Générateur Docker Compose [FR]
- Docker Compose-generator [SV]
- Generador de Docker Compose [ES]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]