a6be56b54e
This fix convert DanglingOnly in ImagesPruneConfig to Filters, so that it is possible to maintain API compatibility in the future. Several integration tests have been added to cover changes. This fix is related to 28497. A follow up to this PR will be done once this PR is merged. Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
36 lines
869 B
Go
36 lines
869 B
Go
package client
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/docker/docker/api/types/filters"
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
// ImagesPrune requests the daemon to delete unused data
|
|
func (cli *Client) ImagesPrune(ctx context.Context, pruneFilters filters.Args) (types.ImagesPruneReport, error) {
|
|
var report types.ImagesPruneReport
|
|
|
|
if err := cli.NewVersionError("1.25", "image prune"); err != nil {
|
|
return report, err
|
|
}
|
|
|
|
query, err := getFiltersQuery(pruneFilters)
|
|
if err != nil {
|
|
return report, err
|
|
}
|
|
|
|
serverResp, err := cli.post(ctx, "/images/prune", query, nil, nil)
|
|
if err != nil {
|
|
return report, err
|
|
}
|
|
defer ensureReaderClosed(serverResp)
|
|
|
|
if err := json.NewDecoder(serverResp.body).Decode(&report); err != nil {
|
|
return report, fmt.Errorf("Error retrieving disk usage: %v", err)
|
|
}
|
|
|
|
return report, nil
|
|
}
|