Ga naar inhoud
100% lokaal

docker run naar Compose

Converteer een docker run-opdracht naar een docker-compose.yml-service of andersom.

Invoer
Uitvoer

docker run naar Compose

Plak een docker run-opdracht en deze tool schrijft deze opnieuw als docker-compose.yml-service, waarbij de image, poorten, volumes, omgevingsvariabelen, netwerk en restart-beleid aan hun Compose-equivalenten worden toegewezen. Schakel de richtingsoptie om en het werkt ook andersom: plak een compose-bestand en krijg het equivalente docker run-commando voor elke service terug, handig als je alleen een compose-bestand hebt maar een container handmatig moet reproduceren.

Plak meer dan één docker run-opdracht, één per regel, en elk wordt een afzonderlijke service in hetzelfde compose-bestand — handig voor het omzetten van een handvol ad-hoc containers in een echte multi-service stack. Ondersteunde schakelaars zijn -p/--publish, -v/--volume, -e/--env, --network, --restart, --memory en --cpus (toegewezen aan een deploy.resources.limits-blok), plus --name, --workdir, --user, --entrypoint, --label en --hostname. Omgevingsvariabelen kunnen inline onder environment: blijven of worden verplaatst naar een gegenereerd .env-bestand waarnaar wordt verwezen met env_file:, en de compose-bestandsindeling kan met of zonder version:-sleutel worden geschreven.

Niet elk docker run-flag heeft een Compose-equivalent — dingen zoals --rm of --pull zijn container-lifecycleschakelaars zonder Compose-instelling per service. De tool slaat ze nooit zwijgend over: niet-ondersteunde flags worden als opmerkingen naast de service waaruit ze afkomstig zijn weergegeven, zodat je exact ziet wat niet is geconverteerd. Het uitschakelen van "Originele volgorde van flags behouden" sorteert elke lijst (poorten, volumes, omgeving) alfabetisch in plaats van de volgorde te behouden waarin je ze hebt ingevoerd, wat het controleren van een gegenereerde diff gemakkelijker kan maken.

Alles draait lokaal in uw browser — geen opdracht, imagenaam of omgevingsvariabele wordt ooit ergens heen verzonden. Kopieer het resultaat, download het als .txt-bestand of stuur de uitvoer terug naar de invoer om het verder te verfijnen.

FAQ

Kan ik meerdere docker run-opdrachten tegelijk converteren?
Ja. Plak één docker run-opdracht per regel (of gebruik een afsluitende backslash om een opdracht over meerdere regels voort te zetten) en elk wordt een afzonderlijke service in het gegenereerde compose-bestand.
Wat gebeurt er met flags die Compose niet kan uitdrukken, zoals --rm?
Ze worden niet zwijgend verwijderd. Elk niet-ondersteund flag wordt als opmerking naast de service waaruit het afkomstig is weergegeven, zodat je exact ziet wat niet is geconverteerd.
Zet het ook docker-compose.yml terug in docker run-opdrachten?
Ja. Schakel de richtingsoptie naar "compose → docker run" en plak een compose-bestand; het hulpprogramma voert één docker run-opdracht per service uit.
Waarom zou ik omgevingsvariabelen in een afzonderlijk .env-bestand plaatsen in plaats van in het compose-bestand?
Het houdt geheimen en omgevingsspecifieke waarden uit versiebeheer wanneer het compose-bestand zelf wordt gecommit. Kies "Afzonderlijk .env-bestand" en het gereedschap verplaatst de variabelen daar en verwijst ernaar met env_file:.
Wordt mijn opdracht of compose-bestand ergens geüpload?
Nee. De conversie draait volledig in uw browser met JavaScript — niets wat u plakt verlaat ooit uw apparaat.