Files
moby/client
Austin Vazquez 46dba49ec8 Fix reclaimable image disk usage calculation for in-use images
This change reworks to build up the reclaimable image disk uage instead of setting it to total size and subtracting active images. This change also includes the image index size as reclaimable if it is included with the image summary.

Signed-off-by: Austin Vazquez <austin.vazquez@docker.com>
2026-03-19 17:47:26 -05:00
..
2026-03-14 19:30:07 +01:00
2025-07-21 09:30:05 -07:00
2026-03-12 18:53:41 +01:00
2026-01-26 20:14:43 +08:00
2026-01-26 20:14:43 +08:00
2026-03-12 18:53:41 +01:00
2026-01-24 17:15:45 +01:00
2026-03-12 18:53:41 +01:00
2026-03-14 19:30:07 +01:00
2026-03-14 17:25:06 +01:00
2026-03-12 15:07:20 +01:00
2025-11-12 17:53:36 +01:00
2025-12-05 15:57:55 +01:00
2025-10-08 12:06:31 -04:00
2025-11-12 17:53:36 +01:00
2025-11-12 17:53:36 +01:00
2025-11-27 12:05:27 +01:00
2025-11-12 17:53:36 +01:00
2025-11-12 17:53:36 +01:00
2026-03-12 18:53:41 +01:00
2026-03-12 18:53:41 +01:00
2025-11-12 17:53:36 +01:00
2025-11-12 17:53:36 +01:00

Go client for the Docker Engine API

PkgGoDev GitHub License Go Report Card OpenSSF Scorecard OpenSSF Best Practices

The docker command uses this package to communicate with the daemon. It can also be used by your own Go applications to do anything the command-line interface does; running containers, pulling or pushing images, etc.

For example, to list all containers (the equivalent of docker ps --all):

package main

import (
	"context"
	"fmt"

	"github.com/moby/moby/client"
)

func main() {
	// Create a new client with "client.FromEnv" (configuring the client
	// from commonly used environment variables such as DOCKER_HOST and
	// DOCKER_API_VERSION) and set a custom User-Agent.
	//
	// API-version negotiation is enabled by default to allow downgrading
	// the API version when connecting with an older daemon version.
	apiClient, err := client.New(
		client.FromEnv,
		client.WithUserAgent("my-application/1.0.0"),
	)
	if err != nil {
		panic(err)
	}
	defer apiClient.Close()

	// List all containers (both stopped and running).
	result, err := apiClient.ContainerList(context.Background(), client.ContainerListOptions{
		All: true,
	})
	if err != nil {
		panic(err)
	}

	// Print each container's ID, status and the image it was created from.
	fmt.Printf("%s  %-22s  %s\n", "ID", "STATUS", "IMAGE")
	for _, ctr := range result.Items {
		fmt.Printf("%s  %-22s  %s\n", ctr.ID, ctr.Status, ctr.Image)
	}
}

Full documentation is available on pkg.go.dev.