docker/client
Arnaud Porterie 7944480dd0 Merge pull request #26839 from tonistiigi/build-cache
Implement build cache based on history array
2016-09-26 17:31:49 +00:00
..
testdata
README.md
checkpoint_create.go
checkpoint_create_test.go
checkpoint_delete.go
checkpoint_delete_test.go
checkpoint_list.go
checkpoint_list_test.go
client.go
client_mock_test.go
client_test.go
client_unix.go
client_windows.go
container_attach.go
container_commit.go
container_commit_test.go
container_copy.go
container_copy_test.go
container_create.go
container_create_test.go
container_diff.go
container_diff_test.go
container_exec.go
container_exec_test.go
container_export.go
container_export_test.go
container_inspect.go
container_inspect_test.go
container_kill.go
container_kill_test.go
container_list.go
container_list_test.go
container_logs.go
container_logs_test.go
container_pause.go
container_pause_test.go
container_remove.go
container_remove_test.go
container_rename.go
container_rename_test.go
container_resize.go
container_resize_test.go
container_restart.go
container_restart_test.go
container_start.go
container_start_test.go
container_stats.go
container_stats_test.go
container_stop.go
container_stop_test.go
container_top.go
container_top_test.go
container_unpause.go
container_unpause_test.go
container_update.go
container_update_test.go
container_wait.go
container_wait_test.go
errors.go
events.go
events_test.go
hijack.go
image_build.go
image_build_test.go
image_create.go
image_create_test.go
image_history.go
image_history_test.go
image_import.go
image_import_test.go
image_inspect.go
image_inspect_test.go
image_list.go
image_list_test.go
image_load.go
image_load_test.go
image_pull.go
image_pull_test.go
image_push.go
image_push_test.go
image_remove.go
image_remove_test.go
image_save.go
image_save_test.go
image_search.go
image_search_test.go
image_tag.go
image_tag_test.go
info.go
info_test.go
interface.go
interface_experimental.go
interface_stable.go
login.go
network_connect.go
network_connect_test.go
network_create.go
network_create_test.go
network_disconnect.go
network_disconnect_test.go
network_inspect.go
network_inspect_test.go
network_list.go
network_list_test.go
network_remove.go
network_remove_test.go
node_inspect.go
node_inspect_test.go
node_list.go
node_list_test.go
node_remove.go
node_remove_test.go
node_update.go
node_update_test.go
plugin_disable.go
plugin_disable_test.go
plugin_enable.go
plugin_enable_test.go
plugin_inspect.go
plugin_inspect_test.go
plugin_install.go
plugin_list.go
plugin_list_test.go
plugin_push.go
plugin_push_test.go
plugin_remove.go
plugin_remove_test.go
plugin_set.go
plugin_set_test.go
request.go
request_test.go
service_create.go
service_create_test.go
service_inspect.go
service_inspect_test.go
service_list.go
service_list_test.go
service_remove.go
service_remove_test.go
service_update.go
service_update_test.go
swarm_init.go
swarm_init_test.go
swarm_inspect.go
swarm_inspect_test.go
swarm_join.go
swarm_join_test.go
swarm_leave.go
swarm_leave_test.go
swarm_update.go
swarm_update_test.go
task_inspect.go
task_inspect_test.go
task_list.go
task_list_test.go
transport.go
version.go
volume_create.go
volume_create_test.go
volume_inspect.go
volume_inspect_test.go
volume_list.go
volume_list_test.go
volume_remove.go
volume_remove_test.go

README.md

Client

The client package implements a fully featured http client to interact with the Docker engine. It's modeled after the requirements of the Docker engine CLI, but it can also serve other purposes.

Usage

You can use this client package in your applications by creating a new client object. Then use that object to execute operations against the remote server. Follow the example below to see how to list all the containers running in a Docker engine host:

package main

import (
	"fmt"
	"context"

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

func main() {
	defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
	cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders)
	if err != nil {
		panic(err)
	}

	options := types.ContainerListOptions{All: true}
	containers, err := cli.ContainerList(context.Background(), options)
	if err != nil {
		panic(err)
	}

	for _, c := range containers {
		fmt.Println(c.ID)
	}
}