Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
Recuperar los argumentos de ejecución del contenedor docker

A menudo me encuentro en la necesidad de volver a crear el contenedor con modificaciones menores a los argumentos utilizados originalmente para docker run (cosas como cambiar los puertos publicados, la red, la cantidad de memoria).

Ahora estoy creando imágenes y ejecutándolas en lugar de contenedores antiguos.

Esto funciona bien, pero no siempre tengo guardados los parámetros originales para docker run y, a veces (especialmente cuando hay muchas cosas que definir) se vuelve doloroso recuperarlos.

¿Hay alguna forma de recuperar los argumentos de docker run del contenedor existente?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Perdón por llegar un par de años tarde, pero tenía una pregunta similar y aún no tenía una respuesta satisfactoria, así que aún necesitaba encontrar la salida.

He encontrado dos fuentes que abordan el problema:

  • unaesencia

Para ejecutar, guárdelo en un archivo, por ejemplo, run.tpl y docker inspect --format "$(<run.tpl)" name_or_id_of_running_container

  • Una imagen acoplable

Ejecución rápida: $ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nexdrew/rekcod <container>

Ambas soluciones son bastante simples de usar, pero la segunda no pudo generar el comando para un contenedor Nginx porque no lograron citarlo así "nginx" "-g" "daemon off;"

Por lo tanto, me concentré en la primera solución, que es una plantilla golang destinada a alimentar el parámetro --format de docker inspect . Me gustó porque era algo simple, elegante y no necesitaba ninguna otra herramienta.

Hice algunas mejoras en mi esencia bifurcada y notifiqué al autor original al respecto.

over 4 years ago · Santiago Trujillo Denunciar

0

Un par de respuestas a esto. Ejecute sus contenedores usando docker-compose , luego puede ejecutar archivos de composición y conservar toda su configuración. Obviamente, compose está diseñado para aplicaciones de múltiples contenedores, pero se subestima enormemente para casos de uso de argumentos de run complejos de un solo contenedor.

El segundo es poner su comando de run en una LABEL en la imagen. Eche un vistazo a Label Schema 's docker.cmd , etc. Luego, puede recuperarlo fácilmente de la imagen (o de su Dockerfile).

over 4 years ago · Santiago Trujillo Denunciar

0

la mejor manera de hacer esto es no escribir los comandos manualmente. colóquelos en un script de shell... un archivo .sh en linux/mac, o un archivo .cmd en Windows. luego, solo ejecuta el script de shell para crear su contenedor y nunca tendrá que preocuparse por volver a escribir los comandos y las opciones, nunca se equivocará, etc.

personalmente, escribo mis scripts con "scripts npm" en mi archivo package.json. pero se puede hacer lo mismo con cualquier herramienta que pueda ejecutar un programa de línea de comandos con argumentos

Hago esto junto con algunos otros trucos para asegurarme de que nunca dejo de construir mis imágenes o ejecutar mis contenedores . hace la vida con Docker mucho más fácil. :)

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda