package client import ( "context" "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" ) func GetVolumes(cl *client.Client, ctx context.Context, server string, fs filters.Args) ([]*volume.Volume, error) { volumeListOptions := volume.ListOptions{fs} volumeListOKBody, err := cl.VolumeList(ctx, volumeListOptions) volumeList := volumeListOKBody.Volumes if err != nil { return volumeList, err } return volumeList, nil } func GetVolumeNames(volumes []*volume.Volume) []string { var volumeNames []string for _, vol := range volumes { volumeNames = append(volumeNames, vol.Name) } return volumeNames } func RemoveVolumes(cl *client.Client, ctx context.Context, server string, volumeNames []string, force bool) error { for _, volName := range volumeNames { err := cl.VolumeRemove(ctx, volName, force) if err != nil { return err } } return nil }