moby--moby/client
Sebastiaan van Stijn a832635e51
client.ContainerWait(): don't send empty "condition" query parameter
The client would always send a value, even if no `condition` was set;

    Calling POST /v1.41/containers/foo/wait?condition=

This patch changes the client to not send the parameter if it's empty (and the
API default value should be used).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 21:47:53 +01:00
..
testdata
README.md
build_cancel.go
build_prune.go
checkpoint_create.go
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
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
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.NewClientWithOpts(): remove redundant type assertion (gosimple) 2022-02-08 09:43:25 +01:00
client_deprecated.go
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
client_unix.go
client_windows.go
config_create.go
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
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
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
container_commit.go
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
container_copy_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_create.go
container_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_diff.go
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
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
container_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_logs.go
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
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
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
container_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_rename.go
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
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
container_restart_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_start.go
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
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
container_stop_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_top.go
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
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
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 client.ContainerWait(): don't send empty "condition" query parameter 2022-02-14 21:47:53 +01:00
container_wait_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
disk_usage.go
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
distribution_inspect_test.go
errors.go
events.go
events_test.go Merge pull request #42770 from thaJeztah/eventtype_enums 2021-08-28 00:23:56 +09:00
hijack.go
hijack_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_build.go
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
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
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
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
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
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
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
image_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
image_save.go
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
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
image_tag_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
info.go
info_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
interface.go
interface_experimental.go
interface_stable.go
login.go
network_connect.go
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
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
network_inspect_test.go client: use subtests for TestNetworkInspect 2021-08-27 16:56:11 +02:00
network_list.go
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
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
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
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: extract FromEnv parts to separate WithXX options 2022-02-10 17:15:40 +01:00
options_test.go client: extract FromEnv parts to separate WithXX options 2022-02-10 17:15:40 +01:00
ping.go
ping_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
plugin_create.go
plugin_disable.go
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
plugin_list.go
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
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
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
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
request.go client/request.go:157:8: SA1019: err.Temporary is deprecated (staticcheck) 2022-01-31 15:59:51 +01: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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
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
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
service_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_inspect.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
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
service_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
service_update.go
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
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
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
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
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
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
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
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 refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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
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
transport.go
utils.go
version.go
volume_create.go
volume_create_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
volume_inspect.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
volume_inspect_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
volume_list.go
volume_list_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
volume_prune.go
volume_remove.go
volume_remove_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08: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.