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
- Sélectionnez docker run → compose ou compose → docker run.
- Collez vos commandes, une par ligne. Les continuations de la ligne de contre-attaque sont bonnes, et un
sudoprincipal est ignoré. - 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.
- Lisez les notes pour les options qui n'ont pas d'équivalent Compose.
- Copiez la sortie, enregistrez-la sous
compose.yamlet exécutezdocker 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é. --rmet-dn'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
-ese retrouvent en texte brut. Considérez de les déplacer vers un fichier.envet de faire référence à${VAR}.