Lo que hace este convertidor
Un comando docker run que comenzó como un experimento rápido tiende a crecer: puertos, volúmenes, variables de entorno, una red, una política de reinicio. En algún momento pertenece a un compose.yaml. Este convertidor analiza uno o más comandos docker run y produce un archivo Compose limpio con un servicio por comando. También funciona al revés: pegue un archivo Compose y obtenga los comandos docker run equivalentes, lo cual es útil para depurar un solo servicio o ejecutarlo en un host sin Compose. El análisis ocurre localmente en su navegador.
Cómo usarlo
- Seleccione docker run → compose o compose → docker run.
- Pegue sus comandos, uno por línea. Las continuidades de la línea de retroceso están bien, y una
sudolíder es ignorada. - Revisar el YAML generado. Los volúmenes nombrados y las redes personalizadas se declaran automáticamente en el nivel superior.
- Lea las notas para las opciones que no tienen equivalente Compose.
- Copia la salida, guárdala como
compose.yamly ejecutadocker compose up -d.
Opciones soportadas
Puertos (-p, --expose), entorno (-e, --env-file), volúmenes y montajes (-v, --mount, --tmpfs), redes (--network, --network-alias, --ip, --hostname, --add-host, --dns, --link), política de reinicio, usuario y directorio de trabajo, punto de entrada y comando, etiquetas, controlador y opciones de registro, comprobaciones de estado (--health-*), límites de recursos (--memory, --cpus, --shm-size, --ulimit, --gpus), opciones de seguridad (--privileged, --cap-add, --cap-drop, --security-opt, --read-only), dispositivos, sysctls, --init, --platform, --pull, -it y más.
Consejos
- Los nombres de los servicios provienen de
--name; si no están presentes, se utiliza el nombre de la imagen. --rmy-dno tienen significado en Compose y se eliminan con una nota.- Los montajes de bindes relativos en Compose se resuelven en relación con el archivo Compose, no con el directorio de su shell. Utiliza las rutas de estilo
./data. - Los secretos transmitidos con
-eterminan en texto plano. Considera moverlos a un archivo.envy hacer referencia a${VAR}.