Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!