Define and run multi-container applications with Docker
Go to file
Guillaume Tardif f1a5f2d6cf Backend is responsible for generating containers IDs and truncate them if wanted/supported for docker ps 2020-06-08 12:37:33 +02:00
.dependabot Add dependabot config file 2020-05-25 15:11:29 +02:00
.github Change the way a context is stored 2020-05-22 16:32:43 +02:00
azure Merge pull request #165 from docker/azure_private_images 2020-06-04 15:43:42 +02:00
backend Remove unused backend proto 2020-06-02 09:41:57 +02:00
cli Backend is responsible for generating containers IDs and truncate them if wanted/supported for docker ps 2020-06-08 12:37:33 +02:00
client Fix Azure login : allow getting a backend when no corresponding context already exists with an explicit call from the login command. Will be usefull next for context creation with azure interactive things 2020-05-29 11:35:35 +02:00
compose Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
containers Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
context Interactive context create, adding method CreateContextData to CloudService interface, so Cloud Backends can provide a custom context creation method. 2020-06-02 16:04:08 +02:00
docs/cli
errdefs Change the way a context is stored 2020-05-22 16:32:43 +02:00
example Fix Azure login : allow getting a backend when no corresponding context already exists with an explicit call from the login command. Will be usefull next for context creation with azure interactive things 2020-05-29 11:35:35 +02:00
moby Backend is responsible for generating containers IDs and truncate them if wanted/supported for docker ps 2020-06-08 12:37:33 +02:00
multierror
protos Rename cli protos to contexts 2020-05-26 10:20:13 +02:00
server Use stdcopy if the container doesn't have a tty 2020-06-08 08:46:30 +02:00
tests Backend is responsible for generating containers IDs and truncate them if wanted/supported for docker ps 2020-06-08 12:37:33 +02:00
.dockerignore Add .git to .dockerignore 2020-05-29 11:29:28 +02:00
.gitignore
.golangci.yml
Dockerfile More Dockerfile best practices 2020-06-02 11:58:24 +02:00
Makefile Tidy Makefiles 2020-06-02 11:58:29 +02:00
README.md delegate Moby to docker-classic binary, link docker-classic in e2e tests 2020-05-20 14:23:29 +02:00
builder.Makefile Tidy Makefiles 2020-06-02 11:58:29 +02:00
go.mod Use stdcopy if the container doesn't have a tty 2020-06-08 08:46:30 +02:00
go.sum Use stdcopy if the container doesn't have a tty 2020-06-08 08:46:30 +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 docker-classic.

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

Building the project

$ make

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.