github.com/rawahars/moby@v24.0.4+incompatible/client/disk_usage.go (about) 1 package client // import "github.com/docker/docker/client" 2 3 import ( 4 "context" 5 "encoding/json" 6 "fmt" 7 "net/url" 8 9 "github.com/docker/docker/api/types" 10 ) 11 12 // DiskUsage requests the current data usage from the daemon 13 func (cli *Client) DiskUsage(ctx context.Context, options types.DiskUsageOptions) (types.DiskUsage, error) { 14 var query url.Values 15 if len(options.Types) > 0 { 16 query = url.Values{} 17 for _, t := range options.Types { 18 query.Add("type", string(t)) 19 } 20 } 21 22 serverResp, err := cli.get(ctx, "/system/df", query, nil) 23 defer ensureReaderClosed(serverResp) 24 if err != nil { 25 return types.DiskUsage{}, err 26 } 27 28 var du types.DiskUsage 29 if err := json.NewDecoder(serverResp.body).Decode(&du); err != nil { 30 return types.DiskUsage{}, fmt.Errorf("Error retrieving disk usage: %v", err) 31 } 32 return du, nil 33 }