mirror of https://github.com/docker/compose.git
This was encountered by @lorenrh with stack : ``` docker login azure panic: runtime error: index out of range [0] with length 0 goroutine 1 [running]: github.com/docker/api/azure/login.AzureLoginService.Login(0xc0004cc2a0, 0x2d, 0xe8b8a0, 0x1476830, 0xe8e4e0, 0xc000498ff0, 0x0, 0x0) github.com/docker/api/azure/login/login.go:130 +0x1057 github.com/docker/api/azure.(*aciCloudService).Login(0xc0004888c0, 0xe8e4e0, 0xc000498ff0, 0x0, 0xe82720, 0xc0004888c0) github.com/docker/api/azure/backend.go:283 +0x64 github.com/docker/api/cli/cmd/login.cloudLogin(0xc0004eb600, 0xd422a4, 0x3, 0x1, 0xffffffffffffffff) github.com/docker/api/cli/cmd/login/login.go:53 +0xae github.com/docker/api/cli/cmd/login.runLogin(0xc0004eb600, 0xc00049c5f0, 0x1, 0x1, 0x0, 0x0) github.com/docker/api/cli/cmd/login/login.go:39 +0x15e github.com/spf13/cobra.(*Command).execute(0xc0004eb600, 0xc00049c5d0, 0x1, 0x1, 0xc0004eb600, 0xc00049c5d0) github.com/spf13/cobra@v1.0.0/command.go:842 +0x45a github.com/spf13/cobra.(*Command).ExecuteC(0xc0004a8580, 0xc000498fc0, 0xc41160, 0x1476830) github.com/spf13/cobra@v1.0.0/command.go:950 +0x350 github.com/spf13/cobra.(*Command).Execute(...) github.com/spf13/cobra@v1.0.0/command.go:887 github.com/spf13/cobra.(*Command).ExecuteContext(...) github.com/spf13/cobra@v1.0.0/command.go:880 main.main() github.com/docker/api/cli/main.go:167 +0x68f ``` |
||
---|---|---|
.dependabot | ||
.github | ||
azure | ||
backend | ||
cli | ||
client | ||
compose | ||
config | ||
containers | ||
context | ||
docs/cli | ||
errdefs | ||
example | ||
moby | ||
multierror | ||
protos | ||
server | ||
tests | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
Dockerfile | ||
Makefile | ||
README.md | ||
builder.Makefile | ||
go.mod | ||
go.sum |
README.md
Docker API
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 adocker-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
.