Define and run multi-container applications with Docker
Go to file
Guillaume Tardif a948b6e1d0 Remove azure resourceGroupClient from backend initialisation. Several advantages :
- less dependencies to init backend. (Will need to work more on this to make login command not need an existing subscription ID)
- backend does not get login token at init time. For a long running process (grace server) this would cause issues with token lifetime
- we benefit from the client config (polling options especially) set in aci.go, without duplicating stuff
2020-05-28 10:16:42 +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 Remove azure resourceGroupClient from backend initialisation. Several advantages : 2020-05-28 10:16:42 +02:00
backend Use alpine as base image 2020-05-20 18:39:10 +02:00
cli Merge pull request #154 from docker/fix_context_inspect_shellout 2020-05-27 17:02:01 +02:00
client Change the way a context is stored 2020-05-22 16:32:43 +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 Fix shell out to docker-classic when invoking 2020-05-27 16:12:40 +02:00
docs/cli Move CLI UX docs into folder 2020-05-14 13:29:11 +02:00
errdefs Change the way a context is stored 2020-05-22 16:32:43 +02:00
example Add tests for ps --all 2020-05-18 15:31:59 +02:00
moby Add moby backend e2e tests 2020-05-25 10:24:37 +02:00
multierror Add multierror 2020-05-13 18:37:41 +02:00
protos Rename cli protos to contexts 2020-05-26 10:20:13 +02:00
server Move the context server into own package 2020-05-26 10:31:14 +02:00
tests Merge pull request #154 from docker/fix_context_inspect_shellout 2020-05-27 17:02:01 +02:00
.dockerignore Update dockerignore 2020-05-20 15:56:32 +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
Dockerfile Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
Makefile Put all protos inside the `protos` package 2020-05-25 15:04:28 +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 Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
go.mod Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
go.sum Implement gRPC logging 2020-05-22 10:16:04 +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.