moby/client
Drew Erny 80904e9571 Fix TLS from environment variables in client
A recent change accidently caused any TLS configuration in FromEnv to be
ignored. This change alters WithHost to create a new http client only if
one doesn't already exist, and otherwise applies the logic to the
transport on the existing client. This preserves the TLS configuration
that might already be on the client.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2018-02-09 15:29:32 -08:00
..
testdata Move engine-api client package 2016-09-07 11:05:58 -07:00
build_prune.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_delete.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_delete_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
checkpoint_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
client.go Fix TLS from environment variables in client 2018-02-09 15:29:32 -08:00
client_mock_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
client_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
client_unix.go Introduce NewClientWithOpts func to build custom client easily 2018-02-08 15:26:24 +01:00
client_windows.go Introduce NewClientWithOpts func to build custom client easily 2018-02-08 15:26:24 +01:00
config_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
config_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_attach.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_commit.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_commit_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_copy.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_copy_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_diff.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_diff_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_exec.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_exec_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_export.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_export_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_kill.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_kill_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_logs.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_logs_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_pause.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_pause_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_prune.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_prune_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_rename.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_rename_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_resize.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_resize_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_restart.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_restart_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_start.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_start_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_stats.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_stats_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_stop.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_stop_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_top.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_top_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_unpause.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_unpause_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_wait.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container_wait_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
disk_usage.go Add canonical import comment 2018-02-05 16:51:57 -05:00
disk_usage_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
distribution_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
distribution_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
errors.go Add canonical import comment 2018-02-05 16:51:57 -05:00
events.go Add canonical import comment 2018-02-05 16:51:57 -05:00
events_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
hijack.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_build.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_build_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_history.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_history_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_import.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_import_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_load.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_load_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_prune.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_prune_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_pull.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_pull_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_push.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_push_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_save.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_save_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_search.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_search_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_tag.go Add canonical import comment 2018-02-05 16:51:57 -05:00
image_tag_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
info.go Add canonical import comment 2018-02-05 16:51:57 -05:00
info_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
interface.go Add canonical import comment 2018-02-05 16:51:57 -05:00
interface_experimental.go Add canonical import comment 2018-02-05 16:51:57 -05:00
interface_stable.go Add canonical import comment 2018-02-05 16:51:57 -05:00
login.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_connect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_connect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_disconnect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_disconnect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_prune.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_prune_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
network_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
node_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
ping.go Add canonical import comment 2018-02-05 16:51:57 -05:00
ping_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_disable.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_disable_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_enable.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_enable_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_install.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_push.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_push_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_set.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_set_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
plugin_upgrade.go Add canonical import comment 2018-02-05 16:51:57 -05:00
README.md Rename Remote API to Engine API 2016-11-22 12:49:38 +00:00
request.go Add canonical import comment 2018-02-05 16:51:57 -05:00
request_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secret_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_logs.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_logs_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
service_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
session.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_get_unlock_key.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_get_unlock_key_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_init.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_init_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_join.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_join_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_leave.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_leave_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_unlock.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_unlock_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_update.go Add canonical import comment 2018-02-05 16:51:57 -05:00
swarm_update_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
task_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
task_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
task_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
task_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
task_logs.go Add canonical import comment 2018-02-05 16:51:57 -05:00
tlsconfig_clone.go Add canonical import comment 2018-02-05 16:51:57 -05:00
tlsconfig_clone_go17.go Add canonical import comment 2018-02-05 16:51:57 -05:00
transport.go Add canonical import comment 2018-02-05 16:51:57 -05:00
utils.go Add canonical import comment 2018-02-05 16:51:57 -05:00
version.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_create.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_create_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_inspect.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_inspect_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_list.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_list_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_prune.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_remove.go Add canonical import comment 2018-02-05 16:51:57 -05:00
volume_remove_test.go Add canonical import comment 2018-02-05 16:51:57 -05: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 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.