From 2ec6b826a617ddd11478062f4a3ecae6a6e6d5d7 Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Fri, 23 Feb 2024 17:23:04 +0800 Subject: [PATCH] fix: prune volumes with all flag --- internal/utils/docker.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/utils/docker.go b/internal/utils/docker.go index 9949419d93..dec42208c9 100644 --- a/internal/utils/docker.go +++ b/internal/utils/docker.go @@ -136,7 +136,11 @@ func DockerRemoveAll(ctx context.Context, w io.Writer) error { } // Remove named volumes if NoBackupVolume { - if report, err := Docker.VolumesPrune(ctx, args); err != nil { + // Since docker engine 25.0.3, all flag is required to include named volumes. + // https://github.com/docker/cli/blob/master/cli/command/volume/prune.go#L76 + vargs := args.Clone() + vargs.Add("all", "true") + if report, err := Docker.VolumesPrune(ctx, vargs); err != nil { return errors.Errorf("failed to prune volumes: %w", err) } else if viper.GetBool("DEBUG") { fmt.Fprintln(os.Stderr, "Pruned volumes:", report.VolumesDeleted)