Puede que se de el caso de que encuentres algún error con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al proyecto final.
Solución:
Los contenedores Docker están diseñados para ser efímeros. Para actualizar un contenedor existente, elimine el anterior y comience uno nuevo. Por lo tanto, el proceso que está siguiendo es el correcto.
Puede simplificar los comandos a los siguientes:
docker-compose up --force-recreate --build -d
docker image prune -f
Puedes actualizarlo usando:
docker-compose pull
Ahora su imagen está actualizada. Si tiene la versión anterior del contenedor en ejecución, debe reiniciarlo para usar la imagen actualizada:
docker-compose restart
Prefiero asegurarme de que todas las imágenes se descargan antes de actualizar los contenedores con las nuevas imágenes para minimizar el tiempo en un estado intermedio o, peor aún, estar en el medio en caso de que falle la descarga de una imagen.
1) Saco las últimas imágenes:
docker-compose pull
2) Luego reinicio los contenedores:
docker-compose up -d --remove-orphans
3) Opcionalmente, elimino las imágenes obsoletas:
docker image prune
Finalizando este artículo puedes encontrar las notas de otros programadores, tú incluso puedes mostrar el tuyo si te apetece.