docker run a Compose
docker run to Compose
Convierte una línea de comandos docker run en una definición de servicio de Compose, y también en sentido contrario.
Convierte una línea de comandos `docker run` en el servicio de `compose.yaml` al que corresponde. El comando se divide con las reglas reales de entrecomillado de la shell, así que un entrypoint escrito como `sh -c "…"` sobrevive con sus espacios y comillas intactos.
Comando docker run
compose.yaml
Notas
- -d solo afecta a la propia invocación de docker run; Compose no tiene equivalente, así que se descartó.
sh -c "…" sobrevive con sus espacios. Las banderas sin equivalente en Compose (--rm, -d) se descartan con una nota — el ciclo de vida lo decide Compose — y las banderas desconocidas se nombran, nunca se tragan en silencio. Los puertos van entre comillas en la salida porque si no YAML 1.1 leería 8080:80 como un número en base 60.Cómo se usa
Pega el comando
Las continuaciones de línea, los valores entre comillas y un comando final después de la imagen se manejan todos. Nada se ejecuta: esto es texto que entra, texto que sale.
Lee las notas bajo la salida
Los flags sin equivalente en Compose se listan en lugar de eliminarse en silencio, y un flag desconocido se nombra. Esa lista es la parte que merece revisarse antes de confirmar el archivo.
Cópialo en tu archivo compose
La salida es un servicio. Ponlo bajo `services:` junto a lo que ya tengas, y dale el nombre que quieras si el comando no tenía `--name`.
Preguntas frecuentes
¿Por qué los puertos van entre comillas?
Porque YAML 1.1 lee `8080:80` como un número en base 60: la sintaxis sexagesimal que nadie quería y que todo parser de YAML heredó. Las comillas son lo que lo mantiene como una asignación de puertos. Es la trampa clásica de Compose.
¿Qué pasó con `--rm` y `-d`?
Se eliminaron con una nota, porque Compose es dueño del ciclo de vida. `docker compose up` es la decisión de adjunto o desacoplado y `docker compose down` elimina los contenedores, así que esos flags no tienen equivalente a nivel de servicio al que traducirse.
¿Escribe un archivo compose entero?
Escribe el servicio. Las redes, los volúmenes de nivel superior y una clave `version:` (que el Compose moderno ya no quiere) te toca añadirlos a ti, y en la mayoría de los casos no deberías necesitarlos.
Puede recibir de
Calculadora de permisos chmod
chmod Calculator
Convierte entre las vistas octal, simbólica y de casillas de los permisos, incluidos los bits setuid y sticky.
Analizador y conversor de archivos .env
.env Parser & Converter
Analiza un archivo .env y lo convierte a JSON, YAML, exportaciones de shell, o formatos de Docker o de Kubernetes.
Explorador de capas de imágenes Docker
Docker Image Explorer
Abre el tarball exportado de una imagen y muestra el comando, el tamaño y los archivos añadidos o borrados en cada capa.
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Explorador de capas de imágenes Docker
Docker Image Explorer
Abre el tarball exportado de una imagen y muestra el comando, el tamaño y los archivos añadidos o borrados en cada capa.
Analizador y conversor de archivos .env
.env Parser & Converter
Analiza un archivo .env y lo convierte a JSON, YAML, exportaciones de shell, o formatos de Docker o de Kubernetes.
Decodificador de Secrets de Kubernetes
Kubernetes Secret Decoder
Decodifica todos los valores Base64 de un manifiesto Secret y vuelve a codificar el editado, listo para aplicar.
Formateador y validador de YAML
YAML Formatter & Validator
Reindenta el YAML de forma uniforme, lo valida y señala los tabuladores y las anclas que rompen los analizadores.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
curl a código
curl to Code
Convierte un comando curl en fetch, axios, requests de Python, Go, PHP o PowerShell.