Développeur / Docker

Convertisseur docker run vers Docker Compose

Convertissez des commandes docker run en fichier compose.yaml avec ports, volumes, variables d’environnement, réseaux, politique de redémarrage, contrôles de santé, GPU et bien plus, ou reconvertissez un service Compose en commande docker run ; les options sans équivalent sont listées.

Convertisseur docker run vers Docker Compose: La commande est découpée comme le ferait un shell, en tenant compte des guillemets et des caractères d’échappement, puis chaque option est associée à sa clé Compose : -p aux ports, -v et --mount aux volumes, -e à environment, --restart, --network, --health-cmd à healthcheck, --gpus à une réservation de périphérique, et environ quarante autres. Les volumes et réseaux nommés reçoivent leurs entrées au niveau supérieur. Plusieurs commandes deviennent plusieurs services dans un même fichier. Les options sans équivalent dans Compose sont listées au lieu d’être supprimées sans explication. Fonctionne 100 % localement dans votre navigateur, sans aucun téléversement de fichier vers le serveur.

Exécutions
Dans votre navigateur
Coût
Gratuit · sans inscription
Disponibilité
Prêt à l'emploi
Convertir docker run en ComposeTraitement local

Fonctionne entièrement dans votre navigateur

compose.yaml

services:
  db:
    image: postgres:16
    container_name: db
    environment:
      - POSTGRES_PASSWORD=change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
volumes:
  pgdata:

Après la conversion

Exécutez docker compose config pour vérifier le fichier et l’afficher avec les valeurs par défaut complétées, puis docker compose up -d pour le démarrer. Fixez les versions des images, par exemple postgres:16 plutôt que latest, afin qu’un redémarrage ne mette pas la base de données à niveau par surprise.

Pour lire le fichier dans un autre format, convertissez-le avec YAML vers JSON ; pour les tâches planifiées dans les conteneurs, l’explication de cron permet de comprendre les expressions cron.

Volumes et données

Un volume nommé, comme pgdata, est géré par Docker et persiste après docker compose down ; un chemin comme ./data correspond à un dossier sur l’hôte. Sauvegardez les volumes nommés avant de les supprimer avec docker compose down -v, car cette commande les efface.

Comment l'utiliser

  1. Collez une ou plusieurs commandes docker run ; les continuations de ligne avec une barre oblique inversée sont acceptées.
  2. Consultez le fichier compose.yaml ainsi que les options qui n’ont pas pu être converties.
  3. Copiez-le ou téléchargez-le, ou inversez le sens de conversion pour transformer un fichier Compose en commandes docker run.

Confidentialité et limitations

Tout s’exécute dans votre navigateur ; vos commandes, qui peuvent contenir des mots de passe, ne sont pas téléversées.

Outils associés

Questions fréquentes

Pourquoi utiliser Compose plutôt que docker run ?

Un fichier Compose consigne toute la configuration au même endroit : il peut être lu, versionné et démarré avec docker compose up, plutôt que de conserver de longues commandes dans l’historique du shell. Il permet également de démarrer plusieurs conteneurs ensemble avec leurs réseaux et leurs volumes.

Que deviennent --rm et -d ?

Compose ne possède pas l’option --rm : les conteneurs sont supprimés avec docker compose down. L’option -d est choisie lorsque vous exécutez docker compose up -d ; elle ne fait donc pas partie du fichier.

Pourquoi les réseaux sont-ils marqués comme externes ?

docker run --network utilise un réseau qui existe déjà ; le fichier converti y fait donc référence de la même manière. Supprimez external: true si vous voulez que Compose crée lui-même le réseau.

Dois-je conserver les mots de passe dans le fichier ?

Préférez un fichier env_file exclu du contrôle de version, ou les secrets Docker, pour les mots de passe et les clés. Le convertisseur conserve le contenu de la commande ; vérifiez donc la section environment avant de valider le fichier.

Outil gratuit · dans votre navigateur exécutions · aucun compte requis