Files
moby/client
Sebastiaan van Stijn c1e5ab4e50 Merge pull request #50415 from thaJeztah/push_no_empty_body_step1
client: always send (empty) body on push
2025-07-16 19:45:17 +02:00
..
2016-09-07 11:05:58 -07:00
2025-06-27 13:12:50 +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-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.