moby--moby/client
Nick Adcock 239ac23799
Improve readability of Windows connect error
Improve the readability of the connection error displayed to the user on
Windows when running docker commands fails by checking if the client is
privileged. If so then display the actual error wrapped in a generic
error "This error may indicate that the docker daemon is not running."

If not that display the actual error wrapped in a more specific error:
"In the default daemon configuration on Windows, the docker client must
be run with elevated privileges to connect."

Signed-off-by: Nick Adcock <nick.adcock@docker.com>
(cherry picked from commit 1a5dafb31e)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-09-06 23:09:33 +02:00
..
testdata
README.md
build_cancel.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
build_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
checkpoint_create.go
checkpoint_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
checkpoint_delete.go
checkpoint_delete_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
checkpoint_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
checkpoint_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
client.go Add client.WithAPIVersionNegotiation() option 2019-04-10 19:23:47 +02:00
client_deprecated.go
client_mock_test.go
client_test.go Add client.WithAPIVersionNegotiation() option 2019-04-10 19:23:47 +02:00
client_unix.go
client_windows.go
config_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
config_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
config_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
config_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
config_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
config_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
config_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
config_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
config_update.go
config_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_attach.go
container_commit.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_commit_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_copy.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_copy_test.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
container_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_diff.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_diff_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_exec.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_exec_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_export.go
container_export_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_kill.go
container_kill_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_logs.go
container_logs_test.go
container_pause.go
container_pause_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_prune_test.go
container_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_remove_test.go
container_rename.go
container_rename_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_resize.go
container_resize_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_restart.go
container_restart_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_start.go
container_start_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_stats.go
container_stats_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_stop.go
container_stop_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_top.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_top_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_unpause.go
container_unpause_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_update.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
container_wait.go
container_wait_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
disk_usage.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
disk_usage_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
distribution_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
distribution_inspect_test.go
errors.go Keep old "notfound" interface for backward compatibility 2019-03-16 00:42:36 +01:00
events.go
events_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
hijack.go Add client.WithAPIVersionNegotiation() option 2019-04-10 19:23:47 +02:00
hijack_test.go
image_build.go builder-next: allow outputs configuration 2019-03-19 10:28:30 -07:00
image_build_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_create.go
image_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_history.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_history_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_import.go
image_import_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_load.go
image_load_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_prune_test.go
image_pull.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
image_pull_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_push.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
image_push_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_remove_test.go
image_save.go
image_save_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_search.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_search_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
image_tag.go
image_tag_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
info.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
info_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
interface.go api: add undocumented /grpc endpoint to talk to GRPC services 2019-04-02 19:57:59 +00:00
interface_experimental.go
interface_stable.go
login.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_connect.go
network_connect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
network_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
network_disconnect.go
network_disconnect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
network_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_inspect_test.go
network_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
network_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_prune_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
network_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
node_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
node_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
node_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
node_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
node_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
node_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
node_update.go
node_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
options.go Merge pull request #39032 from thaJeztah/improve_version_negotiation 2019-04-20 13:34:22 +02:00
options_test.go Add client.WithTimeout() option 2019-04-11 13:35:48 +02:00
ping.go client: do not fallback to GET if HEAD on _ping fail to connect 2019-05-13 15:17:51 -07:00
ping_test.go
plugin_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
plugin_disable.go
plugin_disable_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_enable.go
plugin_enable_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
plugin_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_install.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
plugin_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
plugin_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_push.go
plugin_push_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
plugin_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_set.go
plugin_set_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
plugin_upgrade.go
request.go Improve readability of Windows connect error 2019-09-06 23:09:33 +02:00
request_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
secret_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
secret_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
secret_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
secret_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
secret_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
secret_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
secret_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
secret_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
secret_update.go
secret_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
service_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
service_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
service_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
service_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
service_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
service_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
service_logs.go
service_logs_test.go
service_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
service_remove_test.go
service_update.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
service_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_get_unlock_key.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_get_unlock_key_test.go
swarm_init.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_init_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_join.go
swarm_join_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_leave.go
swarm_leave_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_unlock.go
swarm_unlock_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
swarm_update.go
swarm_update_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
task_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
task_inspect_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
task_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
task_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
task_logs.go
transport.go
utils.go
version.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_create_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
volume_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_inspect_test.go
volume_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_list_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00
volume_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_remove.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_remove_test.go Update tests to check returned errors 2019-03-16 00:40:55 +01:00

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.NewClientWithOpts(client.FromEnv)
	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.