Define and run multi-container applications with Docker
Go to file
Guillaume Tardif dbaab41604 Changed root level debug shorthand to capital D, make it consistent with Moby flag and not clash with —detach future option 2020-06-22 13:19:37 +02:00
.dependabot Run dependabot daily instead of weekly 2020-06-09 09:45:57 +02:00
.github Use latest version of actions/cache 2020-06-18 09:44:34 +02:00
azure Merge pull request #243 from docker/chore-license 2020-06-19 01:16:21 -07:00
backend Add license headers 2020-06-18 16:48:03 +02:00
cli Changed root level debug shorthand to capital D, make it consistent with Moby flag and not clash with —detach future option 2020-06-22 13:19:37 +02:00
client Add license headers 2020-06-18 16:48:03 +02:00
compose Add license headers 2020-06-18 16:48:03 +02:00
config Add license headers 2020-06-18 16:48:03 +02:00
containers Add license headers 2020-06-18 16:48:03 +02:00
context Add license headers 2020-06-18 16:48:03 +02:00
docs/cli Renamed Moby backend to “local” backend. This will leave “moby” available for default type contexts 2020-06-15 12:20:03 +02:00
errdefs Add license headers 2020-06-18 16:48:03 +02:00
example Add license headers 2020-06-18 16:48:03 +02:00
formatter Add license headers 2020-06-18 16:48:03 +02:00
local Add license headers 2020-06-18 16:48:03 +02:00
multierror Add license headers 2020-06-18 16:48:03 +02:00
progress Merge pull request #243 from docker/chore-license 2020-06-19 01:16:21 -07:00
protos Add license headers 2020-06-18 16:48:03 +02:00
server Add license headers 2020-06-18 16:48:03 +02:00
tests Add license headers 2020-06-18 16:48:03 +02:00
.dockerignore Add .git to .dockerignore 2020-05-29 11:29:28 +02:00
.gitattributes Removed test requiring linux containers 2020-06-11 12:58:58 +02:00
.gitignore Remove non-project path 2020-04-24 14:04:27 +02:00
.golangci.yml Extract interface / types to allow unit tests / mock 2020-05-15 10:15:56 +02:00
CHANGELOG.md Changelog: Add known issues 2020-06-18 17:28:29 +02:00
Dockerfile Add license headers 2020-06-18 16:48:03 +02:00
Makefile Add license headers 2020-06-18 16:48:03 +02:00
README.md Renamed docker-classic to “com.docker.com”. 2020-06-17 17:57:53 +02:00
builder.Makefile Add license headers 2020-06-18 16:48:03 +02:00
go.mod Azure backend reports progress 2020-06-18 11:01:33 +02:00
go.sum Azure backend reports progress 2020-06-18 11:01:33 +02:00

README.md

Docker API

Actions Status

Dev Setup

The recommended way is to use the main Makefile that runs everything inside a container.

If you don't have or want to use Docker for building you need to make sure you have all the needed tools installed locally:

  • go 1.14
  • protoc
  • go get github.com/golang/protobuf/protoc-gen-go@v1.4.1
  • go get golang.org/x/tools/cmd/goimports
  • go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.26.0

And then you can call the same make targets but you need to pass it the builder.Makefile (make -f builder.Makefile).

The new CLI delegates to the classic docker for default contexts ; delegation is done to com.docker.cli.

  • make moby-cli-link will create a com.docker.cli link in /usr/local/bin if you don't already have it from Docker Desktop

Building the project

$ make

This will make the cli with all backends enabled. make cross on the other hand will cross-compile the cli without the example and local backend. We use make cross to build for our release, hence the exclusion of those backends. You can still cross-compile with all backends enabled: BUILD_TAGS=example,local make cross.

If you make changes to the .proto files, make sure to make protos to generate go code.

Tests

To run unit tests:

make test

If you need to update a golden file simply do go test ./... -test.update-golden.