Docker Run → Compose
Container DevOps Suite

Conversor de Docker Run a Docker Compose (CLI a YAML) Guía para Desarrolladores

Convierte parámetros de comandos docker run, montajes de volúmenes, asignaciones de puertos y variables de entorno en servicios limpios de docker-compose.yml listos para producción.

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.

Referencia técnica y guía de arquitectura

Conversor de Docker Run a Docker Compose (CLI a YAML) Guía para Desarrolladores — Guía de referencia

Convierte parámetros de comandos docker run, montajes de volúmenes, asignaciones de puertos y variables de entorno en servicios limpios de docker-compose.yml listos para producción.

Parámetros clave y controles

-p, --publishstring | array[string]

Publica puertos del contenedor en el host. Se mapea directamente a la lista 'ports:' en docker-compose.yml (ej. '8080:80').

Por defecto: Opcional
-v, --volumestring | array[string]

Monta directorios del host o volúmenes nombrados de Docker. Se traduce en las secciones de servicio y raíz de 'volumes:'.

Por defecto: Opcional
-e, --envstring | array[string]

Establece variables de entorno del contenedor. Se convierte en pares clave-valor o listas dentro de 'environment:'.

Por defecto: Opcional
--restartstring

Define la política de reinicio ('no', 'always', 'on-failure', 'unless-stopped'). Se mapea directamente a 'restart:'.

Por defecto: no
--networkstring

Conecta el contenedor a una red bridge o externa. Se mapea en las secciones 'networks:' a nivel de servicio y raíz.

Por defecto: default

Consejos profesionales y mejores prácticas

Omitir la etiqueta obsoleta 'version' superior

Bajo la especificación oficial Compose Spec (Docker Compose v2+), el atributo superior 'version: "3.8"' está en desuso y debe omitirse para evitar advertencias de linters.

Comillar siempre los mapeos de puertos

Envuelve siempre los puertos entre comillas (ej. '8080:80' o '22:22'). De lo contrario, los analizadores de YAML 1.1 pueden interpretarlos como números sexagesimales (base 60).

Desacoplar secretos mediante archivos .env

En lugar de codificar contraseñas de '-e DB_PASSWORD=...' directamente en el archivo Compose, expórtalas a un archivo '.env' y cárgalas con 'env_file:'.

Agrupar múltiples contenedores en un solo archivo

Pega múltiples comandos 'docker run' separados por saltos de línea para orquestar varios servicios compartiendo redes internas personalizadas.

Errores comunes y solución de problemas

Las variables de shell como $(pwd) fallan al ejecutarse con Compose

Comandos con '-v $(pwd)/app:/app' deben adaptarse en Docker Compose a rutas relativas con './' (ej. './app:/app') o rutas absolutas del host.

Error de volumen no declarado ('undeclared volume') en volúmenes nombrados

Si conviertes '-v mi_volumen:/datos', asegúrate de que 'mi_volumen' esté declarado en el bloque raíz 'volumes:' además de la sección del servicio.

Faltan las opciones de modo desacoplado (-d) o interactivo (-it)

Docker Compose ejecuta contenedores en segundo plano por defecto con 'docker compose up -d'. Para emular '-it', usa 'stdin_open: true' y 'tty: true'.

Preguntas frecuentes (FAQ)

¿Cómo transforma esta herramienta los argumentos de docker run a docker-compose.yml?▼

El analizador procesa los modificadores de terminal compatibles con POSIX (-p, -v, -e, --restart, etc.) y los traduce a la estructura jerárquica YAML correspondiente de la especificación Compose.

¿Mis comandos y variables de entorno se mantienen privados?▼

Sí, al 100%. Todo el análisis sintáctico y la generación de YAML se ejecutan localmente en el motor JavaScript de tu navegador. Ningún dato viaja a servidores externos.

¿Puedo convertir varios comandos docker run a la vez?▼

Sí. Puedes pegar múltiples comandos separados por saltos de línea. La herramienta asignará nombres de servicio basados en --name o en la imagen y creará un archivo docker-compose.yml unificado.

¿Por qué ya no es necesario incluir la clave 'version' en Docker Compose?▼

Docker unificó los esquemas anteriores en la especificación Compose Specification en 2020. Docker Compose v2 aplica automáticamente los estándares modernos sin requerir el atributo version.

Herramientas y utilidades relacionadas

Todas las herramientas →
Guía para Desarrolladores del Generador de Upstream y Balanceo de Carga Nginxdeveloper

Genere bloques upstream de Nginx optimizados para producción con round-robin, least_conn, ip_hash, keepalive y comprobaciones pasivas de estado.

Abrir herramienta→
Conversor de Cron a Kubernetes CronJob YAML y Generador de Especificacionesdeveloper

Transforme expresiones crontab estándar en manifiestos Kubernetes CronJob listos para producción con restartPolicy, concurrencyPolicy, cuotas de recursos y soporte de zona horaria.

Abrir herramienta→
Generador de Esquemas GraphQL SDL desde JSON (Types, Queries e Inputs) - Guía para Desarrolladoresdeveloper

Genera definiciones de tipos de objeto, tipos de entrada (inputs) y esquemas de consultas en GraphQL SDL a partir de objetos JSON.

Abrir herramienta→
Generador de Reglas de Alerta y Registro de Prometheus (PromQL) - Guía para Desarrolladoresdeveloper

Construya y valide visualmente reglas de alerta PromQL, reglas de registro, umbrales, etiquetas y anotaciones de runbook.

Abrir herramienta→
Guía para Desarrolladores: Generador de Tipos de Resolver TypeScript desde GraphQL SDLdeveloper

Genera interfaces de resolver fuertemente tipadas en TypeScript, argumentos de query/mutation y tipos de contexto a partir de esquemas GraphQL SDL.

Abrir herramienta→
Guía de desarrollo del convertidor de cURL a C# (.NET HttpClient, RestSharp y Flurl)developer

Convierta comandos cURL en código C# idiomático para .NET HttpClient, RestSharp o Flurl.Http con patrones asíncronos y mejores prácticas de agrupación de conexiones.

Abrir herramienta→