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

677
Views
Cómo eliminar volúmenes anónimos al salir con docker-compose

Tengo un archivo docker-compose que uso para ejecutar pruebas de integración. Está configurado en --exit-code-from servicio de prueba, por lo que cuando se realizan las pruebas, todos los contenedores se detienen. Hay un servicio de base de datos involucrado en la prueba. Crea un volumen anónimo. Dado que estas son pruebas, no quiero mantener la base de datos entre ejecuciones. Si estuviera usando docker-compose down , podría usar -v (el documento dice que elimina los volúmenes con nombre; ¿quizás también funcione para volúmenes anónimos?). Entonces mi pregunta es, ¿cómo le digo a docker-compose up que elimine volúmenes anónimos al salir?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Los documentos docker-compose up tienen una bandera que parece prometedora:

 -V, --renew-anon-volumes Recreate anonymous volumes instead of retrieving data from the previous containers.

Y resulta que funciona. Si agrega la bandera, la base de datos se "reconstruye" en cada up . No creo que esto realmente elimine el volumen al salir. Pero resuelve el problema de raíz de querer una nueva instancia de la base de datos en cada ejecución de las pruebas.

El comando final se ve así:

 docker-compose -f docker-compose.test.yml up --renew-anon-volumes --abort-on-container-exit --exit-code-from test

NOTA: Los volúmenes anónimos del contenedor de la base de datos anterior no se eliminan (incluso en el inicio que renueva los volúmenes anónimos). Por lo tanto, tendría que eliminarlos ocasionalmente (por ejemplo docker volume prune ).

ACTUALIZAR (mejor solución)

Otra solución, gracias al comentario de @ BMitch sobre la pregunta, es simplemente ejecutar docker-compose down -v después de que docker-compose up salga (todavía puede bajar los contenedores detenidos porque no se han eliminado). Esto realmente eliminará el volumen anónimo al salir. No estoy seguro de cómo harías esto si -d , pero como no estoy usando ese indicador (quiero ver cómo se ejecutan las pruebas), este comando funciona:

 docker-compose -f docker-compose.test.yml up --abort-on-container-exit --exit-code-from test docker-compose -f docker-compose.test.yml down -v
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!