moby/client
Sean Rodman bec07890aa Updated the client/request.go sendClientRequest method to return a PermissionDenied error if the connection failed due to permissions.
Signed-off-by: Sean Rodman <srodman7689@gmail.com>

Updated the check for the permission error to use os.IsPermission instead of checking the error string. Also, changed the PermissionDenied method to just a new error.

Fixed a typo in client/request.go

Fixed Error name as specified by Pull request builder output.

Worked on making changes to the permissiondenied error.

Fixed typo

Signed-off-by: Sean Rodman <srodman7689@gmail.com>

Updated error message as requested.

Fixed the error as requested

Signed-off-by: Sean Rodman <srodman7689@gmail.com>
2016-10-03 09:02:20 -05:00
..
testdata Move engine-api client package 2016-09-07 11:05:58 -07:00
checkpoint_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
checkpoint_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
checkpoint_delete.go Move engine-api client package 2016-09-07 11:05:58 -07:00
checkpoint_delete_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
checkpoint_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
checkpoint_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
client.go client: remove transport package 2016-09-19 11:19:55 -07:00
client_mock_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
client_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
client_unix.go Move engine-api client package 2016-09-07 11:05:58 -07:00
client_windows.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_attach.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_commit.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_commit_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_copy.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_copy_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_diff.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_diff_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_exec.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_exec_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_export.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_export_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_kill.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_kill_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_logs.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_logs_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_pause.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_pause_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_prune.go Add subcommand prune to the container, volume, image and system commands 2016-09-29 07:42:53 -07:00
container_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_rename.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_rename_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_resize.go Windows: OCI process struct convergence 2016-09-19 10:34:31 -07:00
container_resize_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_restart.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_restart_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_start.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_start_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_stats.go Windows: stats support 2016-09-16 11:56:15 -07:00
container_stats_test.go Merge pull request #26436 from stevvooe/remove-transport-package 2016-09-20 16:43:56 +02:00
container_stop.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_stop_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_top.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_top_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_unpause.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_unpause_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_update.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_update_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
container_wait.go Move engine-api client package 2016-09-07 11:05:58 -07:00
container_wait_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
disk_usage.go Add DiskUsage method to SystemApiclient 2016-09-29 07:42:53 -07:00
errors.go Move engine-api client package 2016-09-07 11:05:58 -07:00
events.go Refactor to new events api 2016-09-22 14:42:06 -04:00
events_test.go Refactor to new events api 2016-09-22 14:42:06 -04:00
hijack.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_build.go Implement build cache based on history array 2016-09-23 11:30:06 -07:00
image_build_test.go Merge pull request #26436 from stevvooe/remove-transport-package 2016-09-20 16:43:56 +02:00
image_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_history.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_history_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_import.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_import_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_load.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_load_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_prune.go Add subcommand prune to the container, volume, image and system commands 2016-09-29 07:42:53 -07:00
image_pull.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_pull_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_push.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_push_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_save.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_save_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_search.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_search_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
image_tag.go Move engine-api client package 2016-09-07 11:05:58 -07:00
image_tag_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
info.go Move engine-api client package 2016-09-07 11:05:58 -07:00
info_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
interface.go Add subcommand prune to the container, volume, image and system commands 2016-09-29 07:42:53 -07:00
interface_experimental.go Move engine-api client package 2016-09-07 11:05:58 -07:00
interface_stable.go Move engine-api client package 2016-09-07 11:05:58 -07:00
login.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_connect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_connect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
network_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
network_disconnect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_disconnect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
network_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
network_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
network_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
network_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
node_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
node_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
node_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
node_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
node_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
node_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
node_update.go Move engine-api client package 2016-09-07 11:05:58 -07:00
node_update_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_disable.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_disable_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_enable.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_enable_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_install.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_push.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_push_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
plugin_set.go Move engine-api client package 2016-09-07 11:05:58 -07:00
plugin_set_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
README.md Move /x/net/context to context in docker client README 2016-09-22 18:45:23 +08:00
request.go Updated the client/request.go sendClientRequest method to return a PermissionDenied error if the connection failed due to permissions. 2016-10-03 09:02:20 -05:00
request_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
service_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
service_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
service_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
service_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
service_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
service_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
service_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
service_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
service_update.go Move engine-api client package 2016-09-07 11:05:58 -07:00
service_update_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
swarm_init.go Move engine-api client package 2016-09-07 11:05:58 -07:00
swarm_init_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
swarm_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
swarm_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
swarm_join.go Move engine-api client package 2016-09-07 11:05:58 -07:00
swarm_join_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
swarm_leave.go Move engine-api client package 2016-09-07 11:05:58 -07:00
swarm_leave_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
swarm_update.go Move engine-api client package 2016-09-07 11:05:58 -07:00
swarm_update_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
task_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
task_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
task_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
task_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
transport.go client: remove transport package 2016-09-19 11:19:55 -07:00
version.go Move engine-api client package 2016-09-07 11:05:58 -07:00
volume_create.go Move engine-api client package 2016-09-07 11:05:58 -07:00
volume_create_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
volume_inspect.go Move engine-api client package 2016-09-07 11:05:58 -07:00
volume_inspect_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
volume_list.go Move engine-api client package 2016-09-07 11:05:58 -07:00
volume_list_test.go client: remove transport package 2016-09-19 11:19:55 -07:00
volume_prune.go Add subcommand prune to the container, volume, image and system commands 2016-09-29 07:42:53 -07:00
volume_remove.go Move engine-api client package 2016-09-07 11:05:58 -07:00
volume_remove_test.go client: remove transport package 2016-09-19 11:19:55 -07:00

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)
	}
}