Docker Run → Compose
Container DevOps Suite

Convertisseur Docker Run en Docker Compose (CLI vers YAML) Guide Développeur

Convertissez les commandes docker run, montages de volumes, mappages de ports et variables d'environnement en services docker-compose.yml propres et prêts pour la production.

100% Client-Side Privacy
Zero Server Transmission
Presets:
Opt compose version
Opt indent
Opt env format
Opt volume format
Input label
# ==============================================================================
# Generated by ToolsAA - Docker Run to Docker Compose Converter
# https://toolsaa.com/docker-run-to-compose (100% Client-Side Privacy)
# ==============================================================================
services:
  nginx-proxy:
    container_name: nginx-proxy
    image: nginx:alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /etc/nginx/conf.d:/etc/nginx/conf.d:ro
      - /var/log/nginx:/var/log/nginx
      - nginx-certs:/etc/ssl/certs:ro
    environment:
      - NGINX_PORT=80
      - NGINX_HOST=toolsaa.com
    networks:
      - web-gateway
    deploy:
      resources:
        limits:
          cpus: "1.0"
          memory: 256m

volumes:
  nginx-certs:

networks:
  web-gateway:
    driver: bridge
Stats card1
1 Service
nginx:alpine
Stats card2
2 Ports Published
3 Volumes (1 Named)
Stats card3
2 Environment Variables
Standard Sandbox Security

Client-Side Processing

High-performance processing executed entirely in browser memory.

Zero Server Upload Privacy

All data payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Référence technique et guide d'architecture

Convertisseur Docker Run en Docker Compose (CLI vers YAML) Guide Développeur — Guide de référence

Convertissez les commandes docker run, montages de volumes, mappages de ports et variables d'environnement en services docker-compose.yml propres et prêts pour la production.

Paramètres clés et contrôles

-p, --publishstring | array[string]

Publie les ports du conteneur sur l'hôte. Mappe directement vers la liste 'ports:' dans docker-compose.yml (ex: '8080:80').

Par défaut : Optionnel
-v, --volumestring | array[string]

Monte des répertoires de l'hôte ou des volumes nommés gérés par Docker. Mappe vers les sections 'volumes:' au niveau service et racine.

Par défaut : Optionnel
-e, --envstring | array[string]

Définit les variables d'environnement. Converti en paires clé-valeur ou listes sous 'environment:'.

Par défaut : Optionnel
--restartstring

Définit la politique de redémarrage ('no', 'always', 'on-failure', 'unless-stopped'). Mappe directement vers 'restart:'.

Par défaut : no
--networkstring

Connecte le conteneur à un réseau bridge ou externe. Mappe vers les sections 'networks:' du service et globales.

Par défaut : default

Conseils de pro et bonnes practices

Omettre l'attribut obsolète 'version' au premier niveau

Sous la spécification officielle Compose Spec (Docker Compose v2+), l'attribut racine 'version: "3.8"' est obsolète et doit être retiré pour éviter les alertes de linter.

Toujours entourer les mappages de ports de guillemets

Déclarez toujours les ports sous forme de chaînes entre guillemets (ex: '8080:80' ou '22:22'). Sans guillemets, les analyseurs YAML 1.1 peuvent interpréter les deux-points en sexagésimal (base 60).

Isoler les secrets dans des fichiers .env

Plutôt que d'écrire des secrets sensibles via '-e DB_PASSWORD=...' directement dans le fichier Compose, stockez-les dans un fichier '.env' appelé via 'env_file:'.

Regrouper plusieurs conteneurs dans un fichier unique

Collez plusieurs commandes 'docker run' séparées par des sauts de ligne pour orchestrer une architecture multi-services connectée sur un réseau interne partagé.

Pièges courants et dépannage

Les variables shell comme $(pwd) provoquent des erreurs de chemin

Les commandes avec '-v $(pwd)/app:/app' doivent être adaptées dans Docker Compose sous forme de chemins relatifs comme './app:/app' ou chemins absolus de l'hôte.

Erreur 'undeclared volume' lors de l'utilisation de volumes nommés

Lors de la conversion de '-v mon_volume:/data', veillez à ce que 'mon_volume' soit également déclaré dans le bloc racine 'volumes:' à la fin du fichier YAML.

Absence des flags d'exécution en arrière-plan (-d) ou interactif (-it)

Docker Compose lance les conteneurs en arrière-plan par défaut avec 'docker compose up -d'. Pour les conteneurs interactifs (-it), utilisez 'stdin_open: true' et 'tty: true'.

Foire aux questions (FAQ)

Comment cet outil mappe-t-il les arguments CLI docker run en docker-compose.yml ?▼

Le convertisseur analyse les arguments conformes à la norme POSIX (-p, -v, -e, --restart, etc.) et les structure selon les sections correspondantes de la spécification officielle Compose.

Mes commandes et informations d'infrastructure restent-elles confidentielles ?▼

Oui, à 100%. L'analyse lexicale et la génération du YAML s'exécutent exclusivement côté client dans le moteur JavaScript de votre navigateur. Aucune donnée n'est envoyée à un serveur tiers.

Est-il possible de convertir plusieurs commandes docker run en même temps ?▼

Oui. Vous pouvez coller plusieurs commandes séparées par des sauts de ligne. L'outil identifie chaque conteneur à partir du nom d'image ou du drapeau --name et produit un fichier unifié.

Pourquoi la balise 'version' n'est-elle plus requise dans Docker Compose ?▼

En 2020, Docker a regroupé les versions antérieures sous la spécification ouverte Compose Specification. Docker Compose v2 interprète directement les fichiers selon cette norme sans nécessiter de balise de version.

Outils et utilitaires connexes

Tous les outils →
Guide Développeur : Générateur de Configuration Nginx Upstream & Équilibrage de Chargedeveloper

Générez des blocs upstream Nginx prêts pour la production avec round-robin, least_conn, ip_hash, connexions persistantes keepalive et vérifications d'état passives.

Ouvrir l'outil→
Convertisseur Cron vers Kubernetes CronJob YAML et Générateur de Spécificationdeveloper

Convertissez des expressions crontab classiques en manifestes Kubernetes CronJob prêts pour la production avec restartPolicy, concurrencyPolicy, quotas de ressources et gestion des fuseaux horaires.

Ouvrir l'outil→
Générateur de Schémas GraphQL SDL depuis JSON (Types, Queries & Inputs) - Guide Développeurdeveloper

Générez des définitions de types d'objets, de types d'entrée (inputs) et de schémas de requêtes en syntaxe GraphQL SDL à partir d'objets JSON.

Ouvrir l'outil→
Générateur de Règles d'Alerte et d'Enregistrement Prometheus (PromQL) - Guide Développeurdeveloper

Créez et validez visuellement des règles d'alerte et d'enregistrement PromQL, des seuils, des étiquettes et des annotations de runbook.

Ouvrir l'outil→
Guide Développeur : Générateur de Types de Résolveurs TypeScript depuis GraphQL SDLdeveloper

Générez des interfaces de résolveurs TypeScript strictement typées, des arguments de requêtes/mutations et des types de contexte depuis vos schémas GraphQL SDL.

Ouvrir l'outil→
Guide de développement : Convertisseur cURL vers C# (.NET HttpClient, RestSharp et Flurl)developer

Convertissez vos requêtes cURL en code C# idiomatique pour .NET HttpClient, RestSharp ou Flurl.Http avec les meilleures pratiques de programmation asynchrone et de pool de connexions.

Ouvrir l'outil→