Define and run multi-container applications with Docker
Go to file
Djordje Lukic 6a5973597d Send the `tail` parameter to ACI if present 2020-06-29 15:40:58 +02:00
.dependabot Run dependabot daily instead of weekly 2020-06-09 09:45:57 +02:00
.github Run windows build/test only on master 2020-06-22 10:16:07 +02:00
azure Send the `tail` parameter to ACI if present 2020-06-29 15:40:58 +02:00
backend Add license headers 2020-06-18 16:48:03 +02:00
cli Integrate limits on inspect 2020-06-29 10:32:28 +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 Integrate limits on inspect 2020-06-29 10:32:28 +02:00
context Delegate to Moby CLI, to allow executing ecs CLI plugin if user has switched to the AWS context (created by the plugin) 2020-06-25 11:49:28 +02:00
docs docs: Add Linux install instructions 2020-06-24 17:51:36 +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 Integrate limits on inspect 2020-06-29 10:32:28 +02:00
local Add license headers 2020-06-18 16:48:03 +02:00
metrics Usage metrics 2020-06-23 16:52:52 +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 Integrate limits on inspect 2020-06-29 10:32:28 +02:00
server Use logrus for logging, not containerd's log 2020-06-29 15:02:05 +02:00
tests Merge pull request #278 from docker/limits 2020-06-29 13:32:25 +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 updates 2020-06-24 16:49:11 +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 Set LD_FLAG version from git tag. Displayed version will be (default behaviour of git describe —tags): 2020-06-25 13:50:16 +02:00
go.mod Use logrus for logging, not containerd's log 2020-06-29 15:02:05 +02:00
go.sum Integrate limits on inspect 2020-06-29 10:32:28 +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.