
Walter Chacón
PreguntaHola Guido,
Tengo corriendo docker swarm para unos microservices en mi trabajo, tenemos un CI para hacer constantemente deploys al docker swarm. La cuestión es que el server cada día va consumiendo mas disco duro y es porque las imágenes de docker se van acumulando. La solución que hice fue crear un cron job que lo que hace es que todos los días hace un
docker system prune -f
Cual seria una buena practica para esto ?

Carlos Enrique Ramírez Flores
Uff esto es oro escrito!! El ver el panorama de un problema y su solución por los craks! Sin duda guardaré este contenido!
Christian Ruiz
en windows sería así:
docker service create --detach -e CLEAN_PERIOD=900 -e DELAY_TIME=600 --log-driver json-file --log-opt max-size=1m --log-opt max-file=2 --name cleanup --mode global --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock meltwater/docker-cleanup

Guido Vilariño
En swarm siempre tienes que tener algún mecanismo de mantenimiento y limpieza. Yo uso meltwater/docker-cleanup corriendo como un servicio global de Swarm, lo que me garantiza que corre en todos los nodos, y delego en él la tarea de limpiar todo. Lo hago así:
docker service create \ --detach \ -e CLEAN_PERIOD=900 \ -e DELAY_TIME=600 \ --log-driver json-file \ --log-opt max-size=1m \ --log-opt max-file=2 \ --name cleanup \ --mode global \ --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ meltwater/docker-cleanup
Puedes aprender más de esta imagen leyendo su página en docker hub

Manuel Salv. Lemos Foncubierta
No, por que de esa manera te quedas sin backups el sistema del rollback.
Tendrias que versionar la aplicacion y guardar solo las imagenes de dichas versiones (testeadas por supuesto).