moby--moby/client
Aaron Lehmann f9bd8ec8b2 Implement server-side rollback, for daemon versions that support this
Server-side rollback can take advantage of the rollback-specific update
parameters, instead of being treated as a normal update that happens to
go back to a previous version of the spec.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-03-03 16:33:34 -08:00
..
testdata
README.md Rename Remote API to Engine API 2016-11-22 12:49:38 +00:00
checkpoint_create.go
checkpoint_create_test.go
checkpoint_delete.go
checkpoint_delete_test.go
checkpoint_list.go update incorrect comments of CheckpointList 2017-02-04 00:41:35 +08:00
checkpoint_list_test.go more descriptive error fo checkpoint ls for non existent containers 2017-02-02 00:42:29 +02:00
client.go add missing API changes 2017-02-19 01:33:43 -08:00
client_mock_test.go
client_test.go add missing API changes 2017-02-19 01:33:43 -08:00
client_unix.go
client_windows.go
container_attach.go
container_commit.go Use distribution reference 2017-02-07 11:08:37 -08:00
container_commit_test.go expected new_container_id while testing ContainerCommit 2016-11-18 10:21:04 +08:00
container_copy.go
container_copy_test.go Optimize the log info for client test 2016-12-02 03:32:04 +08:00
container_create.go Don't use AutoRemove on older daemons 2017-01-15 01:59:57 +01:00
container_create_test.go why there are so many mistakes in our repo (up to /cmd) 2017-02-17 00:32:48 +08:00
container_diff.go Generate ContainerChanges from swagger spec. 2017-01-03 09:35:40 -05:00
container_diff_test.go Generate ContainerChanges from swagger spec. 2017-01-03 09:35:40 -05:00
container_exec.go
container_exec_test.go
container_export.go
container_export_test.go
container_inspect.go
container_inspect_test.go expected new_container_id while testing ContainerCommit 2016-11-18 10:21:04 +08:00
container_kill.go
container_kill_test.go
container_list.go
container_list_test.go
container_logs.go
container_logs_test.go
container_pause.go
container_pause_test.go
container_prune.go Convert DanglingOnly to Filters for `docker image prune` 2016-12-02 20:08:49 -08:00
container_prune_test.go Add `--filter until=<timestamp>` for `docker container/image prune` 2017-01-04 14:16:42 -08:00
container_remove.go
container_remove_test.go
container_rename.go
container_rename_test.go
container_resize.go
container_resize_test.go
container_restart.go
container_restart_test.go
container_start.go
container_start_test.go
container_stats.go
container_stats_test.go
container_stop.go
container_stop_test.go
container_top.go Convert ContainerTopOKResponse from swagger spec. 2017-01-03 11:47:47 -05:00
container_top_test.go Convert ContainerTopOKResponse from swagger spec. 2017-01-03 11:47:47 -05:00
container_unpause.go
container_unpause_test.go
container_update.go
container_update_test.go
container_wait.go
container_wait_test.go
disk_usage.go
errors.go print error if unsupported flags are used 2017-02-03 16:59:20 -08:00
events.go Fixes a race condition in client events monitoring 2016-12-16 10:11:53 -05:00
events_test.go
hijack.go
image_build.go Add --add-host for docker build 2017-02-20 17:32:28 -05:00
image_build_test.go Update docs and code to use application/x-tar in the build API 2017-01-10 06:40:06 +02:00
image_create.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_create_test.go
image_history.go Generate ImageHistory from swagger spec. 2017-01-03 11:47:44 -05:00
image_history_test.go Generate ImageHistory from swagger spec. 2017-01-03 11:47:44 -05:00
image_import.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_import_test.go expected new_container_id while testing ContainerCommit 2016-11-18 10:21:04 +08:00
image_inspect.go
image_inspect_test.go
image_list.go Fixes ImageList to be retro-compatible with older API 2016-11-28 22:15:50 +01:00
image_list_test.go Fixes ImageList to be retro-compatible with older API 2016-11-28 22:15:50 +01:00
image_load.go
image_load_test.go
image_prune.go Convert DanglingOnly to Filters for `docker image prune` 2016-12-02 20:08:49 -08:00
image_prune_test.go Fix ImageDelete type 2017-01-26 14:07:44 -05:00
image_pull.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_pull_test.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_push.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_push_test.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_remove.go Generate ImageDeleteResponse from swagger spec. 2017-01-03 11:47:47 -05:00
image_remove_test.go Generate ImageDeleteResponse from swagger spec. 2017-01-03 11:47:47 -05:00
image_save.go
image_save_test.go
image_search.go
image_search_test.go api/types/container,client: gofmt 2016-12-05 17:00:36 +02:00
image_tag.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_tag_test.go why there are so many mistakes in our repo (up to /cmd) 2017-02-17 00:32:48 +08:00
info.go
info_test.go api: types: keep info.SecurityOptions a string slice 2016-11-19 13:21:16 +01:00
interface.go Add docker plugin upgrade 2017-02-03 16:21:12 -05:00
interface_experimental.go move plugins out of experimental 2016-11-10 15:51:32 -08:00
interface_stable.go
login.go Fix the inconsistent function name for client 2016-12-02 04:18:02 +08:00
network_connect.go
network_connect_test.go add test case check connect.EndpointConfig not nil 2017-02-09 11:26:20 +08:00
network_create.go
network_create_test.go
network_disconnect.go
network_disconnect_test.go
network_inspect.go
network_inspect_test.go expected new_container_id while testing ContainerCommit 2016-11-18 10:21:04 +08:00
network_list.go
network_list_test.go
network_prune.go Convert DanglingOnly to Filters for `docker image prune` 2016-12-02 20:08:49 -08:00
network_prune_test.go Add `--filter until=<timestamp>` for `docker container/image prune` 2017-01-04 14:16:42 -08:00
network_remove.go
network_remove_test.go
node_inspect.go
node_inspect_test.go change minor mistake of spelling 2016-12-20 21:05:19 +08:00
node_list.go
node_list_test.go
node_remove.go
node_remove_test.go
node_update.go
node_update_test.go
ping.go change minor mistake of spelling 2016-12-20 21:05:19 +08:00
plugin_create.go Update docs and code to use application/x-tar in the build API 2017-01-10 06:40:06 +02:00
plugin_disable.go Enforce zero plugin refcount during disable. 2016-12-22 13:26:53 -08:00
plugin_disable_test.go Enforce zero plugin refcount during disable. 2016-12-22 13:26:53 -08:00
plugin_enable.go Add HTTP client timeout. 2016-11-21 13:11:40 -08:00
plugin_enable_test.go Add HTTP client timeout. 2016-11-21 13:11:40 -08:00
plugin_inspect.go Merge pull request #28963 from vieux/refactor_plugin_install 2016-12-05 12:00:29 -08:00
plugin_inspect_test.go
plugin_install.go Net dial to the plugin socket during enable. 2017-02-27 18:11:28 -08:00
plugin_list.go Add `--filter enabled=true` for `docker plugin ls` 2017-01-26 13:16:11 -08:00
plugin_list_test.go Add `capability` filter to `docker plugin ls` 2017-01-27 07:32:22 -08:00
plugin_push.go Implement content addressability for plugins 2016-12-23 13:29:58 -08:00
plugin_push_test.go Implement content addressability for plugins 2016-12-23 13:29:58 -08:00
plugin_remove.go
plugin_remove_test.go expected new_container_id while testing ContainerCommit 2016-11-18 10:21:04 +08:00
plugin_set.go
plugin_set_test.go
plugin_upgrade.go Use distribution reference 2017-02-07 11:08:37 -08:00
request.go Fix the inconsistent function name for client 2016-12-02 04:18:02 +08:00
request_test.go
secret_create.go remove unused headers in secret_create.go 2017-02-11 00:16:48 +08:00
secret_create_test.go update secret create url for consistency 2016-11-18 10:18:21 +08:00
secret_inspect.go
secret_inspect_test.go change minor mistake of spelling 2016-12-20 21:05:19 +08:00
secret_list.go
secret_list_test.go
secret_remove.go
secret_remove_test.go
secret_update.go Add integration test for stack deploy with secrets. 2017-01-26 11:33:15 -05:00
secret_update_test.go Add SecretUpdate method to client 2017-01-13 09:51:05 -08:00
service_create.go
service_create_test.go
service_inspect.go
service_inspect_test.go change minor mistake of spelling 2016-12-20 21:05:19 +08:00
service_list.go
service_list_test.go
service_logs.go api: Service Logs support 2016-11-10 13:46:02 -08:00
service_logs_test.go api: Service Logs support 2016-11-10 13:46:02 -08:00
service_remove.go
service_remove_test.go
service_update.go Implement server-side rollback, for daemon versions that support this 2017-03-03 16:33:34 -08:00
service_update_test.go Return warnings from service create and service update when digest pinning fails 2016-11-18 09:31:31 -08:00
swarm_get_unlock_key.go Revise swarm init/update flags, add unlocking capability 2016-11-09 16:09:00 -08:00
swarm_init.go Change tls to TLS 2016-12-20 22:08:07 +08:00
swarm_init_test.go
swarm_inspect.go Change tls to TLS 2016-12-20 22:08:07 +08:00
swarm_inspect_test.go
swarm_join.go Change tls to TLS 2016-12-20 22:08:07 +08:00
swarm_join_test.go
swarm_leave.go Change tls to TLS 2016-12-20 22:08:07 +08:00
swarm_leave_test.go
swarm_unlock.go why there are so many mistakes in our repo (up to /cmd) 2017-02-17 00:32:48 +08:00
swarm_update.go Change tls to TLS 2016-12-20 22:08:07 +08:00
swarm_update_test.go
task_inspect.go
task_inspect_test.go
task_list.go
task_list_test.go
transport.go Merge pull request #29565 from yuexiao-wang/fix-typo-tls 2016-12-22 12:10:09 +01:00
utils.go Convert DanglingOnly to Filters for `docker image prune` 2016-12-02 20:08:49 -08:00
version.go
volume_create.go
volume_create_test.go
volume_inspect.go
volume_inspect_test.go
volume_list.go
volume_list_test.go
volume_prune.go remove redundant colon introduced by mistake 2017-02-13 10:16:57 +08:00
volume_remove.go
volume_remove_test.go

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.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.