Files
moby/client
Sebastiaan van Stijn 8c067c5223 client: Client.addHeaders: remove special handling for api < 1.25
Commit e98e4a7111 introduced functionality
to hide experimental commands, and hide commands based on API version
negotiation. Before that commit, the user-agent header was used to detect
version-mismatches between the daemon and client based on their binary
version;
3975d648b7/api/server/middleware/user_agent.go (L32-L44)

Because of the above, a check was added to prevent custom headers from
modifying the User-Agent, but given that the user-agent header changed
formatting, and api < 1.25 is long deprecated, it's not very meaningful
to add this check, so let's remove it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-06-20 18:10:04 +02:00
..
2016-09-07 11:05:58 -07:00
2025-06-07 09:57:58 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-06-07 09:57:58 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-02-08 18:04:18 +11:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2023-11-14 12:27:35 +01:00
2025-05-30 15:59:10 +02:00
2025-05-30 15:59:10 +02:00
2025-06-07 09:57:59 +02:00
2025-05-30 15:59:10 +02:00

Go client for the Docker Engine API

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 images, managing swarms, etc.

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

package main

import (
	"context"
	"fmt"

	"github.com/docker/docker/api/types/container"
	"github.com/docker/docker/client"
)

func main() {
	apiClient, err := client.NewClientWithOpts(client.FromEnv)
	if err != nil {
		panic(err)
	}
	defer apiClient.Close()

	containers, err := apiClient.ContainerList(context.Background(), container.ListOptions{All: true})
	if err != nil {
		panic(err)
	}

	for _, ctr := range containers {
		fmt.Printf("%s %s (status: %s)\n", ctr.ID, ctr.Image, ctr.Status)
	}
}

Full documentation is available on pkg.go.dev.