Нет описания

Ulysses Souza 35cbb621fb Add check on exec looking for arguments 5 лет назад
.dependabot 9c21e09044 Run dependabot daily instead of weekly 5 лет назад
.github 7a9a3d0e7e Indent master-ci.yml 5 лет назад
azure 35cbb621fb Add check on exec looking for arguments 5 лет назад
backend ad72c866cc Add license headers 5 лет назад
cli ae76e0cf27 Merge pull request #325 from docker/error_status_context_needs_login 5 лет назад
client ad72c866cc Add license headers 5 лет назад
compose 622402709a Use compose-go's Project and ProjectOptions 5 лет назад
config ad72c866cc Add license headers 5 лет назад
containers 1deb2b8b09 Integrate limits on inspect 5 лет назад
context 839b1b0b44 Delegate to Moby CLI, to allow executing ecs CLI plugin if user has switched to the AWS context (created by the plugin) 5 лет назад
docs 6e6ed0648f docs: Add Linux install instructions 5 лет назад
errdefs 964e331a10 Specific exit code when command fails because azure login is required. Will be used by VSCode Docker integration 5 лет назад
example 6b74716490 Specific error message when user tries to remove one container from an ACI compose application, mentioning the name of the compose application and that user should use compose down 5 лет назад
formatter 1deb2b8b09 Integrate limits on inspect 5 лет назад
local 5eea111ecf Run containers and attach to logs by default, detach with -d option 5 лет назад
metrics c4c0c24dca Merge pull request #335 from docker/fix-metrics-goroutine 5 лет назад
multierror ad72c866cc Add license headers 5 лет назад
progress 34d76bd561 Merge pull request #243 from docker/chore-license 5 лет назад
protos 1deb2b8b09 Integrate limits on inspect 5 лет назад
server 37f4c36c32 Use logrus for logging, not containerd's log 5 лет назад
tests 35cbb621fb Add check on exec looking for arguments 5 лет назад
.dockerignore 9097b1f750 Add .git to .dockerignore 5 лет назад
.gitattributes 93984f8c68 Removed test requiring linux containers 5 лет назад
.gitignore fcc7582826 Remove non-project path 6 лет назад
.golangci.yml 69f10fe80c Extract interface / types to allow unit tests / mock 5 лет назад
CHANGELOG.md d40acb3146 Changelog updates 5 лет назад
Dockerfile ad72c866cc Add license headers 5 лет назад
Makefile ad72c866cc Add license headers 5 лет назад
README.md 6d2d510027 Doc on running e2e tests 5 лет назад
builder.Makefile 0bcba8d1d2 Set LD_FLAG version from git tag. Displayed version will be (default behaviour of git describe —tags): 5 лет назад
go.mod 3c83e01e9c Merge pull request #327 from docker/compose-go 5 лет назад
go.sum 35cbb621fb Add check on exec looking for arguments 5 лет назад

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.