Docker ejecuta el script al inicio, confirma los cambios y elimina el script montado

Docker ejecuta el script al inicio, confirma los cambios y elimina el script montado

Tengo un script que quiero ejecutar en imágenes existentes. Para esto, monto el script mientras ejecuto el contenedor, confirmo los cambios y reemplazo la imagen. El problema con vincular el script al inicio es que el volumen también permanece en una nueva imagen. Al ejecutar una inspección en la imagen, puedo ver que se convierte en un argumento permanente y la ejecución falla porque el sistema host no tiene el script único.

¿Hay alguna forma de que el script se ejecute, realice cambios en el nivel del sistema operativo y se elimine por completo? El guión es bastante complicado y también llama a muchos otros guiones.

comando para ejecutar contenedor con script

 docker run --name temp_container --ipc host -v /path_to_scripts_dir:/new_dir iamge bash -v /new_dir/call_scripts.sh'

Nuevo en Docker, ¡cualquier consejo sería útil!

Respuesta1

Podrías probar con la --rmbandera.

De forma predeterminada, el sistema de archivos de un contenedor persiste incluso después de que el contenedor sale. Esto facilita mucho la depuración (ya que puede inspeccionar el estado final) y conserva todos sus datos de forma predeterminada. Pero si está ejecutando procesos en primer plano a corto plazo, estos sistemas de archivos contenedores realmente pueden acumularse. Si, en cambio, desea que Docker limpie automáticamente el contenedor y elimine el sistema de archivos cuando el contenedor salga, puede agregar el indicador --rm

Referencia de ejecución de Docker

información relacionada