All Projects → docker → Go Docker

docker / Go Docker

(Still WIP) Official Go SDK for Docker

Programming Languages

go
31211 projects - #10 most used programming language

docker.io/go-docker

Official Go SDK for Docker

Dependency management tool is required

This repository describes its dependencies in a Gopkg.toml file as created by the dep tool.

It also uses semantic versioning, and requires its users to use dep-compatible dependency management tools to ensure stability and avoid breaking changes.

The canonical import path is docker.io/go-docker.

Note: you may download it with go get -d docker.io/go-docker, but if you omit -d, you may have compile errors. Hence the dep approach is preferred.

How to use dep in your project

You can use any tool that is compatible, but in the examples below we are using dep.

Adding dependency to vendor/

$ cd $GOPATH/src/myproject
$ dep init 					# only if first time use
$ dep ensure -add docker.io/[email protected]    	# to use the latest version of v1.x.y

Updating dependency

$ cd $GOPATH/src/myproject
$ edit Gopkg.toml
$ dep ensure

Reference Documentation

godoc.org/docker.io/go-docker

Issues

Feel free to open issues on the Github issue tracker.

Migrating from github.com/docker/docker/client

If you were previously depending on github.com/docker/docker/client, you can run the following in bash to start using docker.io/go-docker v1 and benefiting from semantic versioning guarantees.

files=( $(find . -name '*.go' -not -path './vendor/*') )

for rule in \
    's|"github.com/docker/docker/api|"docker.io/go-docker/api|' \
    's|^([[:space:]]+)"github.com/docker/docker/client|\1client "docker.io/go-docker|' \
    's|"github.com/docker/docker/client|"docker.io/go-docker|' \
; do
    sed -i -E "$rule" ${files[*]}
done

Note that if you aliased any import they will be preserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].