moby/client
Paweł Gronowski 85a7f5a09a daemon/linux: Set console size on creation
On Linux the daemon was not respecting the HostConfig.ConsoleSize
property and relied on cli initializing the tty size after the container
was created. This caused a delay between container creation and
the tty actually being resized.

This is also a small change to the api description, because
HostConfig.ConsoleSize is no longer Windows-only.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2022-05-19 07:57:27 +02:00
..
testdata Move engine-api client package 2016-09-07 11:05:58 -07:00
build_cancel.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
build_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
checkpoint_create.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
checkpoint_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
checkpoint_delete.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
checkpoint_delete_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
checkpoint_list.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
checkpoint_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
client.go client: add const for environment variables, and document them 2022-03-07 12:35:55 +01:00
client_deprecated.go Move deprecated client constructors to a separate file 2019-01-21 15:27:52 +01:00
client_mock_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
client_test.go test: use T.Setenv to set env vars in tests 2022-04-23 17:44:16 +08:00
client_unix.go client: add const for environment variables, and document them 2022-03-07 12:35:55 +01:00
client_windows.go client: add const for environment variables, and document them 2022-03-07 12:35:55 +01:00
config_create.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
config_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
config_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
config_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
config_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
config_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
config_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
config_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
config_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
config_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_attach.go Make it explicit raw|multiplexed stream implementation being used 2022-05-12 11:36:31 +02:00
container_commit.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
container_commit_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_copy.go client: CopyToContainer(), CopyFromContainer(): remove status-code handling 2022-04-19 08:28:20 +02:00
container_copy_test.go client: CopyToContainer(), CopyFromContainer(): remove status-code handling 2022-04-19 08:28:20 +02:00
container_create.go daemon/linux: Set console size on creation 2022-05-19 07:57:27 +02:00
container_create_test.go update uses of container.ContainerCreateCreatedBody to CreateResponse 2022-04-28 22:39:20 +02:00
container_diff.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_diff_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_exec.go Make it explicit raw|multiplexed stream implementation being used 2022-05-12 11:36:31 +02:00
container_exec_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_export.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_export_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
container_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_kill.go client: ContainerKill(): don't send signal query-param if none was set 2022-04-19 17:40:33 +02:00
container_kill_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_list.go client: container ps: don't set "limit" if none was set 2022-03-31 19:59:17 +02:00
container_list_test.go client: container ps: don't set "limit" if none was set 2022-03-31 19:59:17 +02:00
container_logs.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
container_logs_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_pause.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_pause_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_prune_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
container_remove_test.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
container_rename.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_rename_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_resize.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_resize_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_restart.go client: ContainerStop(), ContainerRestart(): support stop-signal 2022-04-20 21:29:34 +02:00
container_restart_test.go client: ContainerStop(), ContainerRestart(): support stop-signal 2022-04-20 21:29:34 +02:00
container_start.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_start_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_stats.go Add stats options to not prime the stats 2020-02-28 09:54:37 -08:00
container_stats_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_stop.go client: ContainerStop(), ContainerRestart(): support stop-signal 2022-04-20 21:29:34 +02:00
container_stop_test.go client: ContainerStop(), ContainerRestart(): support stop-signal 2022-04-20 21:29:34 +02:00
container_top.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
container_top_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_unpause.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
container_unpause_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_update.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
container_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_wait.go api: rename ContainerWaitOKBody to container.WaitResponse 2022-04-28 22:38:20 +02:00
container_wait_test.go api: rename ContainerWaitOKBody to container.WaitResponse 2022-04-28 22:38:20 +02:00
disk_usage.go API,daemon: support type URL parameter to /system/df 2021-07-27 12:17:45 +02:00
disk_usage_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
distribution_inspect.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
distribution_inspect_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
envvars.go client: add const for environment variables, and document them 2022-03-07 12:35:55 +01:00
errors.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
events.go fix nolint comments for SA1019: filters.ToParamWithVersion is deprecated 2019-10-18 00:45:33 +02:00
events_test.go Merge pull request #42770 from thaJeztah/eventtype_enums 2021-08-28 00:23:56 +09:00
hijack.go Make it explicit raw|multiplexed stream implementation being used 2022-05-12 11:36:31 +02:00
hijack_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_build.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
image_build_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_create.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
image_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_history.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_history_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_import.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
image_import_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
image_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_list.go fix nolint comments for SA1019: filters.ToParamWithVersion is deprecated 2019-10-18 00:45:33 +02:00
image_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_load.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
image_load_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
image_prune_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_pull.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
image_pull_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_push.go client.ImagePush(): default to ":latest" instead of "all tags" 2019-12-10 12:24:14 +01:00
image_push_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
image_remove_test.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
image_save.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
image_save_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_search.go client: ImageSearch(): don't send limit if none was specified 2022-03-15 14:53:46 +01:00
image_search_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_tag.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
image_tag_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
info.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
info_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
interface.go Add Swarm cluster volume supports 2022-05-13 00:55:44 +02:00
interface_experimental.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
interface_stable.go Add canonical import comment 2018-02-05 16:51:57 -05:00
login.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_connect.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
network_connect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_disconnect.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
network_disconnect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
network_inspect_test.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
network_list.go fix nolint comments for SA1019: filters.ToParamWithVersion is deprecated 2019-10-18 00:45:33 +02:00
network_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
network_prune_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
network_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
node_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
node_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
node_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
node_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
node_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
node_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
node_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
node_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
options.go client: add const for environment variables, and document them 2022-03-07 12:35:55 +01:00
options_test.go client: extract FromEnv parts to separate WithXX options 2022-02-10 17:15:40 +01:00
ping.go client: Ping(): add handling for swarm status headers 2022-03-25 23:57:58 +01:00
ping_test.go client: Ping(): add handling for swarm status headers 2022-03-25 23:57:58 +01:00
plugin_create.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
plugin_disable.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
plugin_disable_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_enable.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
plugin_enable_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
plugin_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_install.go Use errdefs for handling errors in client 2019-03-16 00:42:42 +01:00
plugin_list.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
plugin_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_push.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
plugin_push_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
plugin_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_set.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
plugin_set_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_upgrade.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
README.md Remove use of deprecated client.NewEnvClient() 2019-01-03 22:49:00 +01:00
request.go Add Swarm cluster volume supports 2022-05-13 00:55:44 +02:00
request_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
secret_create.go Fix grammar in client function comments 2021-02-16 10:07:44 -05:00
secret_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
secret_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
secret_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
secret_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
secret_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
secret_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
secret_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
secret_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
secret_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_create.go remove unneeded "digest" alias for "go-digest" 2022-03-04 14:49:42 +01:00
service_create_test.go remove unneeded "digest" alias for "go-digest" 2022-03-04 14:49:42 +01:00
service_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
service_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_list.go Add support for sending down service Running and Desired task counts 2019-10-14 10:43:00 -05:00
service_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_logs.go Improve GetTimestamp parsing 2018-05-20 13:07:17 +02:00
service_logs_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
service_remove_test.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
service_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
service_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_get_unlock_key.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_get_unlock_key_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_init.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_init_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_inspect.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
swarm_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_join.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
swarm_join_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_leave.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
swarm_leave_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_unlock.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
swarm_unlock_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
swarm_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
swarm_update_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
task_inspect.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
task_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
task_list.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
task_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
task_logs.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07: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 Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_create.go api: rename volume.VolumeCreateBody to volume.CreateOptions 2022-04-28 22:39:14 +02:00
volume_create_test.go api: rename volume.VolumeCreateBody to volume.CreateOptions 2022-04-28 22:39:14 +02:00
volume_inspect.go api/types: replace uses of deprecated types.Volume with volume.Volume 2022-04-21 19:50:59 +02:00
volume_inspect_test.go imports: remove "volumetypes" aliases for api/types/volume 2022-04-28 22:39:04 +02:00
volume_list.go api: rename volume.VolumeListOKBody to volume.ListResponse 2022-04-28 22:39:12 +02:00
volume_list_test.go api: rename volume.VolumeListOKBody to volume.ListResponse 2022-04-28 22:39:12 +02:00
volume_prune.go Client: always call ensureReaderClosed 2019-03-18 15:26:21 +01:00
volume_remove.go client: remove wrapResponseError() 2022-03-20 19:04:52 +01:00
volume_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
volume_update.go api/types/swarm: Version: implement stringer interface 2022-05-13 02:40:14 +02:00
volume_update_test.go Add Swarm cluster volume supports 2022-05-13 00:55:44 +02: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.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.