Utilo

Conversor docker run ↔ Compose

Convierte comandos docker run en servicios docker-compose / compose.yaml, con puertos, variables de entorno, volúmenes, redes, healthchecks y límites de recursos, o convierte servicios compose de vuelta a docker run.

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

  1. Seleccione docker run → compose o compose → docker run.
  2. Pegue sus comandos, uno por línea. Las continuidades de la línea de retroceso están bien, y una sudo líder es ignorada.
  3. Revisar el YAML generado. Los volúmenes nombrados y las redes personalizadas se declaran automáticamente en el nivel superior.
  4. Lea las notas para las opciones que no tienen equivalente Compose.
  5. Copia la salida, guárdala como compose.yaml y ejecuta docker 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.
  • --rm y -d no 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 -e terminan en texto plano. Considera moverlos a un archivo .env y hacer referencia a ${VAR}.

Preguntas frecuentes

¿Qué versión de Compose se genera?

La salida sigue la especificación de composición actual utilizada por Docker Compose v2. Se omite la clave version: de nivel superior obsoleta.

¿Puedo convertir varios contenedores a la vez?
  • Sí, es cierto. Pegar varios comandos docker run y cada uno se convierte en un servicio en el mismo archivo, compartiendo redes y volúmenes declarados.
¿Componer → ejecutar soporta construir secciones?

build: no tiene docker run equivalente, por lo que la herramienta utiliza el nombre de la imagen y añade una nota que le dice a construir primero.

¿Se ha cargado mi comando?
  • No, no es así. La conversión se hace completamente en su navegador.

Sí. Todo el procesamiento se realiza directamente en tu navegador mediante JavaScript, Web Workers y APIs web. Nada de lo que escribes, pegas o subes se envía a nuestros servidores.

Esta página se tradujo automáticamente del inglés. Si encuentras un error, avísanos.