open-nomad/vendor/github.com/fsouza/go-dockerclient
Michal Wieczorek 67b688d292 Update vendor package github.com/fsouza/go-dockerclient
Added dependencies of updated github.com/fsouza/go-dockerclient:
- golang.org/x/net/context/ctxhttp
- github.com/docker/engine-api/types/swarm
- github.com/Microsoft/go-winio
- github.com/docker/engine-api/types/mount
2016-09-24 21:53:49 +02:00
..
appveyor.yml Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
auth.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
AUTHORS Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
change.go Using godeps to build 2016-02-12 10:02:16 -08:00
client.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
client_unix.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
client_windows.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
container.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
DOCKER-LICENSE Using godeps to build 2016-02-12 10:02:16 -08:00
env.go Using godeps to build 2016-02-12 10:02:16 -08:00
event.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
exec.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
image.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
LICENSE Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
Makefile Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
misc.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
network.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
node.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
README.markdown Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
service.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
signal.go Using godeps to build 2016-02-12 10:02:16 -08:00
swarm.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
tar.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
task.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00
tls.go Update to latest go-dockerclient. Fix .gitignore expression to allow 2016-05-28 12:01:56 +02:00
volume.go Update vendor package github.com/fsouza/go-dockerclient 2016-09-24 21:53:49 +02:00

go-dockerclient

Travis Build Status AppVeyor Build Status GoDoc

This package presents a client for the Docker remote API. It also provides support for the extensions in the Swarm API. It currently supports the Docker API up to version 1.23.

This package also provides support for docker's network API, which is a simple passthrough to the libnetwork remote API. Note that docker's network API is only available in docker 1.8 and above, and only enabled in docker if DOCKER_EXPERIMENTAL is defined during the docker build process.

For more details, check the remote API documentation.

Example

package main

import (
	"fmt"

	"github.com/fsouza/go-dockerclient"
)

func main() {
	endpoint := "unix:///var/run/docker.sock"
	client, _ := docker.NewClient(endpoint)
	imgs, _ := client.ListImages(docker.ListImagesOptions{All: false})
	for _, img := range imgs {
		fmt.Println("ID: ", img.ID)
		fmt.Println("RepoTags: ", img.RepoTags)
		fmt.Println("Created: ", img.Created)
		fmt.Println("Size: ", img.Size)
		fmt.Println("VirtualSize: ", img.VirtualSize)
		fmt.Println("ParentId: ", img.ParentID)
	}
}

Using with TLS

In order to instantiate the client for a TLS-enabled daemon, you should use NewTLSClient, passing the endpoint and path for key and certificates as parameters.

package main

import (
	"fmt"

	"github.com/fsouza/go-dockerclient"
)

func main() {
	endpoint := "tcp://[ip]:[port]"
	path := os.Getenv("DOCKER_CERT_PATH")
	ca := fmt.Sprintf("%s/ca.pem", path)
	cert := fmt.Sprintf("%s/cert.pem", path)
	key := fmt.Sprintf("%s/key.pem", path)
	client, _ := docker.NewTLSClient(endpoint, cert, key, ca)
	// use client
}

If using docker-machine, or another application that exports environment variables DOCKER_HOST, DOCKER_TLS_VERIFY, DOCKER_CERT_PATH, you can use NewClientFromEnv.

package main

import (
	"fmt"

	"github.com/fsouza/go-dockerclient"
)

func main() {
	client, _ := docker.NewClientFromEnv()
	// use client
}

See the documentation for more details.

Developing

All development commands can be seen in the Makefile.

Commited code must pass:

Running make test will check all of these. If your editor does not automatically call gofmt, make fmt will format all go files in this repository.