moby--moby/client
mrfly e345cd12f9 fix client.Transport
`client.Transport` is `http.Client.Transport` just has `RoundTripper()`. Not `http.Transport`. So we cannot convert it here.

For a mock test, I can play with this https://play.golang.org/p/gs7_QrL9-Y

Signed-off-by: wrfly <mr.wrfly@gmail.com>
2017-08-03 17:14:26 +08:00
..
testdata
README.md
build_prune.go Implement incremental file sync using client session 2017-06-22 11:52:35 -07:00
checkpoint_create.go
checkpoint_create_test.go
checkpoint_delete.go
checkpoint_delete_test.go
checkpoint_list.go
checkpoint_list_test.go
client.go fix client.Transport 2017-08-03 17:14:26 +08:00
client_mock_test.go
client_test.go
client_unix.go
client_windows.go
config_create.go
config_create_test.go
config_inspect.go
config_inspect_test.go
config_list.go
config_list_test.go
config_remove.go
config_remove_test.go
config_update.go
config_update_test.go
container_attach.go
container_commit.go
container_commit_test.go
container_copy.go Merge pull request #33467 from bschwind/copy-documentation 2017-06-24 00:19:51 -07:00
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_prune.go
container_prune_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 Spelling fixes 2017-07-03 13:13:09 -07:00
container_wait_test.go
disk_usage.go
disk_usage_test.go
distribution_inspect.go
distribution_inspect_test.go
errors.go Fix NewVersionError() for clients using default version 2017-06-29 22:22:32 -07:00
events.go
events_test.go
hijack.go Fix panic in hijack 2017-07-25 22:46:41 -07:00
image_build.go Add long-running client session endpoint 2017-06-22 11:22:41 -07:00
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_prune.go
image_prune_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 Implement incremental file sync using client session 2017-06-22 11:52:35 -07:00
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_prune.go
network_prune_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
parse_logs.go
parse_logs_test.go
ping.go Set ping version even on error 2017-06-29 12:42:14 -04:00
ping_test.go Set ping version even on error 2017-06-29 12:42:14 -04:00
plugin_create.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
plugin_upgrade.go
request.go Set ping version even on error 2017-06-29 12:42:14 -04:00
request_test.go
secret_create.go
secret_create_test.go
secret_inspect.go
secret_inspect_test.go
secret_list.go
secret_list_test.go
secret_remove.go
secret_remove_test.go
secret_update.go
secret_update_test.go
service_create.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
service_create_test.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
service_inspect.go
service_inspect_test.go
service_list.go
service_list_test.go
service_logs.go
service_logs_test.go
service_remove.go
service_remove_test.go
service_update.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
service_update_test.go
session.go Add long-running client session endpoint 2017-06-22 11:22:41 -07:00
swarm_get_unlock_key.go
swarm_get_unlock_key_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_unlock.go
swarm_unlock_test.go
swarm_update.go
swarm_update_test.go
task_inspect.go
task_inspect_test.go
task_list.go
task_list_test.go
task_logs.go
transport.go
utils.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_prune.go
volume_remove.go
volume_remove_test.go

README.md

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 running containers (the equivalent of docker ps):

package main

import (
	"context"
	"fmt"

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

func main() {
	cli, err := client.NewEnvClient()
	if err != nil {
		panic(err)
	}

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

	for _, container := range containers {
		fmt.Printf("%s %s\n", container.ID[:10], container.Image)
	}
}

Full documentation is available on GoDoc.