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 pull client API version negotiation out of the CLI and into the client 2017-06-20 22:58:16 -07:00
client_unix.go
client_windows.go
config_create.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_create_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_inspect.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_inspect_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_list.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_list_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_remove.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_remove_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_update.go Add API version checks to client 2017-06-10 01:57:55 +02:00
config_update_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
container_attach.go Add stream format details for attach/logs endpoint 2017-06-02 12:32:25 -04:00
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 Add stream format details for attach/logs endpoint 2017-06-02 12:32:25 -04:00
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 Update ContainerWait API 2017-05-16 15:11:39 -07:00
disk_usage.go
disk_usage_test.go
distribution_inspect.go Add API version checks to client 2017-06-10 01:57:55 +02:00
distribution_inspect_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
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 Add `scope` filter in `/networks/<id>` 2017-06-12 09:54:25 -07:00
network_inspect_test.go Add `scope` filter in `/networks/<id>` 2017-06-12 09:54:25 -07:00
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 Add API version checks to client 2017-06-10 01:57:55 +02:00
request.go Set ping version even on error 2017-06-29 12:42:14 -04:00
request_test.go
secret_create.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_create_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_inspect.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_inspect_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_list.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_list_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_remove.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_remove_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_update.go Add API version checks to client 2017-06-10 01:57:55 +02:00
secret_update_test.go Add API version checks to client 2017-06-10 01:57:55 +02:00
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 add swarm get unlock key test for client package 2017-05-14 11:09:19 +08:00
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 add swarm unlock test in client 2017-05-29 00:22:24 +08:00
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 Moving docker service digest pinning to client side 2017-05-15 16:42:43 -07:00
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.