moby--moby/client
Derek McGowan 3a1279393f
Use distribution reference
Remove forked reference package. Use normalized named values
everywhere and familiar functions to convert back to familiar
strings for UX and storage compatibility.

Enforce that the source repository in the distribution metadata
is always a normalized string, ignore invalid values which are not.
Update distribution tests to use normalized values.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2017-02-07 11:08:37 -08:00
..
testdata
README.md
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
client_mock_test.go
client_test.go
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
container_copy.go
container_copy_test.go
container_create.go Don't use AutoRemove on older daemons 2017-01-15 01:59:57 +01:00
container_create_test.go Don't use AutoRemove on older daemons 2017-01-15 01:59:57 +01:00
container_diff.go
container_diff_test.go
container_exec.go
container_exec_test.go
container_export.go
container_export_test.go
container_inspect.go
container_inspect_test.go
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
container_prune_test.go
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
container_top_test.go
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
events_test.go
hijack.go
image_build.go Update docs and code to use application/x-tar in the build API 2017-01-10 06:40:06 +02: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
image_history_test.go
image_import.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_import_test.go
image_inspect.go
image_inspect_test.go
image_list.go
image_list_test.go
image_load.go
image_load_test.go
image_prune.go
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
image_remove_test.go
image_save.go
image_save_test.go
image_search.go
image_search_test.go
image_tag.go Use distribution reference 2017-02-07 11:08:37 -08:00
image_tag_test.go check both source_image_tag and target_image_tag for 'docker image tag' 2017-01-07 04:55:53 +08:00
info.go
info_test.go
interface.go Add docker plugin upgrade 2017-02-03 16:21:12 -05:00
interface_experimental.go
interface_stable.go
login.go
network_connect.go
network_connect_test.go
network_create.go
network_create_test.go
network_disconnect.go
network_disconnect_test.go
network_inspect.go
network_inspect_test.go
network_list.go
network_list_test.go
network_prune.go
network_prune_test.go
network_remove.go
network_remove_test.go
node_inspect.go
node_inspect_test.go
node_list.go
node_list_test.go
node_remove.go
node_remove_test.go
node_update.go
node_update_test.go
ping.go
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
plugin_disable_test.go
plugin_enable.go
plugin_enable_test.go
plugin_inspect.go
plugin_inspect_test.go
plugin_install.go Use distribution reference 2017-02-07 11:08:37 -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
plugin_push_test.go
plugin_remove.go
plugin_remove_test.go
plugin_set.go
plugin_set_test.go
plugin_upgrade.go Use distribution reference 2017-02-07 11:08:37 -08:00
request.go
request_test.go
secret_create.go
secret_create_test.go
secret_inspect.go
secret_inspect_test.go
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
service_list.go
service_list_test.go
service_logs.go
service_logs_test.go
service_remove.go
service_remove_test.go
service_update.go
service_update_test.go
swarm_get_unlock_key.go
swarm_init.go
swarm_init_test.go
swarm_inspect.go
swarm_inspect_test.go
swarm_join.go
swarm_join_test.go
swarm_leave.go
swarm_leave_test.go
swarm_unlock.go
swarm_update.go
swarm_update_test.go
task_inspect.go
task_inspect_test.go
task_list.go
task_list_test.go
transport.go
utils.go
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
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.