moby/client
Jim Minter 37983921c9 Ensure a hijacked connection implements CloseWrite whenever its underlying
connection does.  If this isn't done, then a container listening on stdin won't
receive an EOF when the client closes the stream at their end.

Signed-off-by: Jim Minter <jminter@redhat.com>
2018-03-14 09:07:55 -06: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 Remove duplicate calls for getting an APIClient 2018-02-20 17:27:24 -05:00
client_mock_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
client_test.go Merge pull request #36424 from liubin/fix-typo 2018-02-27 10:24:20 +01: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
config_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
container_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
distribution_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Ensure a hijacked connection implements CloseWrite whenever its underlying 2018-03-14 09:07:55 -06: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
image_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Remove duplicate calls for getting an APIClient 2018-02-20 17:27:24 -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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
network_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
node_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
plugin_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Remove duplicate calls for getting an APIClient 2018-02-20 17:27:24 -05:00
request_test.go Remove duplicate calls for getting an APIClient 2018-02-20 17:27:24 -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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
secret_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
service_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
task_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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 Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08:00
volume_inspect_test.go Merge pull request #36144 from emil2k/node-id-required 2018-02-16 10:18:47 -08: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.