Sen descrición

Djordje Lukic 1b9dd7ac27 Merge pull request #332 from docker/feat-sleep-ctx %!s(int64=5) %!d(string=hai) anos
.dependabot 9c21e09044 Run dependabot daily instead of weekly %!s(int64=5) %!d(string=hai) anos
.github 7a9a3d0e7e Indent master-ci.yml %!s(int64=5) %!d(string=hai) anos
azure 0057093897 Sleep cancel sleep on log follow if the user cancels %!s(int64=5) %!d(string=hai) anos
backend ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
cli ae76e0cf27 Merge pull request #325 from docker/error_status_context_needs_login %!s(int64=5) %!d(string=hai) anos
client ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
compose 622402709a Use compose-go's Project and ProjectOptions %!s(int64=5) %!d(string=hai) anos
config ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
containers 1deb2b8b09 Integrate limits on inspect %!s(int64=5) %!d(string=hai) anos
context 839b1b0b44 Delegate to Moby CLI, to allow executing ecs CLI plugin if user has switched to the AWS context (created by the plugin) %!s(int64=5) %!d(string=hai) anos
docs 6e6ed0648f docs: Add Linux install instructions %!s(int64=5) %!d(string=hai) anos
errdefs 964e331a10 Specific exit code when command fails because azure login is required. Will be used by VSCode Docker integration %!s(int64=5) %!d(string=hai) anos
example 622402709a Use compose-go's Project and ProjectOptions %!s(int64=5) %!d(string=hai) anos
formatter 1deb2b8b09 Integrate limits on inspect %!s(int64=5) %!d(string=hai) anos
local 5eea111ecf Run containers and attach to logs by default, detach with -d option %!s(int64=5) %!d(string=hai) anos
metrics a97a26bfc3 Implement metrics for `docker scan` %!s(int64=5) %!d(string=hai) anos
multierror ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
progress 34d76bd561 Merge pull request #243 from docker/chore-license %!s(int64=5) %!d(string=hai) anos
protos 1deb2b8b09 Integrate limits on inspect %!s(int64=5) %!d(string=hai) anos
server 37f4c36c32 Use logrus for logging, not containerd's log %!s(int64=5) %!d(string=hai) anos
tests ae76e0cf27 Merge pull request #325 from docker/error_status_context_needs_login %!s(int64=5) %!d(string=hai) anos
.dockerignore 9097b1f750 Add .git to .dockerignore %!s(int64=5) %!d(string=hai) anos
.gitattributes 93984f8c68 Removed test requiring linux containers %!s(int64=5) %!d(string=hai) anos
.gitignore fcc7582826 Remove non-project path %!s(int64=5) %!d(string=hai) anos
.golangci.yml 69f10fe80c Extract interface / types to allow unit tests / mock %!s(int64=5) %!d(string=hai) anos
CHANGELOG.md d40acb3146 Changelog updates %!s(int64=5) %!d(string=hai) anos
Dockerfile ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
Makefile ad72c866cc Add license headers %!s(int64=5) %!d(string=hai) anos
README.md 6d2d510027 Doc on running e2e tests %!s(int64=5) %!d(string=hai) anos
builder.Makefile 0bcba8d1d2 Set LD_FLAG version from git tag. Displayed version will be (default behaviour of git describe —tags): %!s(int64=5) %!d(string=hai) anos
go.mod 3c83e01e9c Merge pull request #327 from docker/compose-go %!s(int64=5) %!d(string=hai) anos
go.sum 3c83e01e9c Merge pull request #327 from docker/compose-go %!s(int64=5) %!d(string=hai) anos

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:

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

unit tests

make test

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

e2e tests

make e2e_local

This requires a local docker engine running

AZURE_TENANT_ID="xxx" AZURE_CLIENT_ID="yyy" AZURE_CLIENT_SECRET="yyy" make e2e_aci

This requires azure service principal credentials to login to azure. To get the values to be set in local environment variables, you can create a new service principal once you're logged in azure (with docker login azure)

az ad sp create-for-rbac --name 'MyTestServicePrincipal' --sdk-auth

Running aci e2e tests will override your local login, the service principal credentials use a token that cannot be refreshed automatically. You might need to run again docker login azure to properly use the command line after running ACI e2e tests.