image_remove.go 693 B

12345678910111213141516171819202122232425262728293031
  1. package client
  2. import (
  3. "encoding/json"
  4. "net/url"
  5. "github.com/docker/docker/api/types"
  6. "golang.org/x/net/context"
  7. )
  8. // ImageRemove removes an image from the docker host.
  9. func (cli *Client) ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error) {
  10. query := url.Values{}
  11. if options.Force {
  12. query.Set("force", "1")
  13. }
  14. if !options.PruneChildren {
  15. query.Set("noprune", "1")
  16. }
  17. resp, err := cli.delete(ctx, "/images/"+imageID, query, nil)
  18. if err != nil {
  19. return nil, err
  20. }
  21. var dels []types.ImageDeleteResponseItem
  22. err = json.NewDecoder(resp.body).Decode(&dels)
  23. ensureReaderClosed(resp)
  24. return dels, err
  25. }