github.com/docker/docker@v299999999.0.0-20200612211812-aaf470eca7b5+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  
     8  	"github.com/docker/docker/api/types"
     9  )
    10  
    11  // DiskUsage requests the current data usage from the daemon
    12  func (cli *Client) DiskUsage(ctx context.Context) (types.DiskUsage, error) {
    13  	var du types.DiskUsage
    14  
    15  	serverResp, err := cli.get(ctx, "/system/df", nil, nil)
    16  	defer ensureReaderClosed(serverResp)
    17  	if err != nil {
    18  		return du, err
    19  	}
    20  
    21  	if err := json.NewDecoder(serverResp.body).Decode(&du); err != nil {
    22  		return du, fmt.Errorf("Error retrieving disk usage: %v", err)
    23  	}
    24  
    25  	return du, nil
    26  }