Utilo

Convertisseur docker run ↔ Compose

Convertissez des commandes docker run en services docker-compose / compose.yaml — ports, variables d'environnement, volumes, réseaux, healthchecks et limites de ressources — ou reconvertissez des services compose en docker run.

Ce que fait ce convertisseur

Une commande docker run qui a commencé comme une expérience rapide tend à croître: ports, volumes, variables d'environnement, un réseau, une politique de redémarrage. À un moment donné, il appartient à un compose.yaml. Ce convertisseur analyse une ou plusieurs commandes docker run et produit un fichier Compose propre avec un service par commande. Il fonctionne également à l'envers: coller un fichier Compose et obtenir les commandes docker run équivalentes, ce qui est pratique pour déboguer un seul service ou l'exécuter sur un hôte sans Compose. L'analyse se fait localement dans votre navigateur.

Mode d'emploi

  1. Sélectionnez docker run → compose ou compose → docker run.
  2. Collez vos commandes, une par ligne. Les continuations de la ligne de contre-attaque sont bonnes, et un sudo principal est ignoré.
  3. Examiner le YAML généré. Les volumes nommés et les réseaux personnalisés sont déclarés automatiquement au niveau supérieur.
  4. Lisez les notes pour les options qui n'ont pas d'équivalent Compose.
  5. Copiez la sortie, enregistrez-la sous compose.yaml et exécutez docker compose up -d.

Options prises en charge

Les ports (-p, --expose), l'environnement (-e, --env-file), les volumes et les montures (-v, --mount, --tmpfs), le réseau (--network, --network-alias, --ip, --hostname, --add-host, --dns, --link), la politique de redémarrage, le répertoire utilisateur et de travail, le point d'entrée et la commande, les étiquettes, le pilote et les options de journalisation, les vérifications de santé (--health-*), les limites de ressources (--memory, --cpus, --shm-size, --ulimit, --gpus), les options de sécurité (--privileged, --cap-add, --cap-drop, --security-opt, --read-only), les appareils, les sysctls, --init, --platform, --pull, -it et plus encore.

Des conseils

  • Les noms des services proviennent de --name; s'ils ne le sont pas, le nom de l'image est utilisé.
  • --rm et -d n'ont aucune signification dans Composer et sont laissés tomber avec une note.
  • Les montage de liaisons relatives dans Compose sont résolus par rapport au fichier Compose, pas au répertoire de votre shell. Utilisez des chemins de style ./data.
  • Les secrets transmis avec -e se retrouvent en texte brut. Considérez de les déplacer vers un fichier .env et de faire référence à ${VAR}.

Questions fréquentes

Quelle version Compose est générée ?

La sortie suit la spécification compose actuelle utilisée par Docker Compose v2. La clé version: de niveau supérieur est omise.

Je peux convertir plusieurs conteneurs à la fois ?
  • Je suis désolé. Collez plusieurs commandes docker run et chacune devient un service dans le même fichier, partageant des réseaux et des volumes déclarés.
Compose → run prend en charge la création de sections ?

build: n'a pas d'équivalent docker run, donc l'outil utilise le nom de l'image et ajoute une note vous disant de construire en premier.

Ma commande est téléchargée ?

Je ne veux pas. La conversion se fait entièrement dans votre navigateur.

Oui. Tout le traitement s'effectue directement dans votre navigateur grâce à JavaScript, aux Web Workers et aux API Web. Rien de ce que vous saisissez, collez ou importez n'est envoyé à nos serveurs.

Cette page a été traduite automatiquement depuis l'anglais. Si vous repérez une erreur, dites-le-nous.