github.com/nullne/docker@v1.13.0-rc1/client/container_prune.go (about)

     1  package client
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  
     7  	"github.com/docker/docker/api/types"
     8  	"golang.org/x/net/context"
     9  )
    10  
    11  // ContainersPrune requests the daemon to delete unused data
    12  func (cli *Client) ContainersPrune(ctx context.Context, cfg types.ContainersPruneConfig) (types.ContainersPruneReport, error) {
    13  	var report types.ContainersPruneReport
    14  
    15  	if err := cli.NewVersionError("1.25", "container prune"); err != nil {
    16  		return report, err
    17  	}
    18  
    19  	serverResp, err := cli.post(ctx, "/containers/prune", nil, cfg, nil)
    20  	if err != nil {
    21  		return report, err
    22  	}
    23  	defer ensureReaderClosed(serverResp)
    24  
    25  	if err := json.NewDecoder(serverResp.body).Decode(&report); err != nil {
    26  		return report, fmt.Errorf("Error retrieving disk usage: %v", err)
    27  	}
    28  
    29  	return report, nil
    30  }