The Docker CLI
Go to file
Marc Cornellà f617883fdf
Fix docker plugin suggestions in Zsh completion
The __docker_plugins function calls `docker plugin ls` to get its information,
but it doesn't output a TAG column anymore. Without this change, triggering
the function, e.g. trying to complete `docker plugin inspect`, produces the
following error repeatedly:

  __docker_plugins:27: bad math expression: empty string

Also, the tag part of the docker plugin is shown in the NAME column, but the
colon (:) character is swallowed by the `_describe` function and interpreted
so that the right-side of the string is displayed as a comment to the suggestion.
For example: vieux/sshfs:latest is suggested like

  vieux/sshfs    -- latest

instead of the tag being part of the suggestion. This means that if there are
more than one tags installed of the same docker plugin, they are both combined
into a single completion entry, instead of two, one for each tag. By quoting
the colon character, the tag is now correctly offered in the suggestion.

With this commit the plugin description is added to each completion suggestion
and plugin names are shown without the redundant ":latest" tag.

Fixes #9294

Signed-off-by: Marc Cornellà <hello@mcornella.com>
2022-04-06 19:39:05 +02:00
.circleci dummy circleci config 2022-02-25 21:15:39 +01:00
.github update go to 1.18.0 2022-03-28 17:23:09 +02:00
cli tweak description of login/logout 2022-04-04 10:44:11 +02:00
cli-plugins gofmt with go1.17 2022-03-26 20:21:00 +01:00
cmd/docker Remove ClientInfo as it is not practically used. 2022-03-04 15:46:50 +01:00
contrib/completion Fix docker plugin suggestions in Zsh completion 2022-04-06 19:39:05 +02:00
dockerfiles Dockerfile: update buildx to v0.8.2 2022-04-04 10:34:49 +02:00
docs tweak description of login/logout 2022-04-04 10:44:11 +02:00
e2e e2e: cleanup TestGlobalHelp() to be less brittle 2022-03-27 10:42:48 +02:00
experimental experimental: fix broken link to "checkpoint and restore" page 2021-09-07 13:30:48 +02:00
internal/test Fix flaky TestContainerList tests 2022-03-28 20:37:06 +02:00
man tweak description of login/logout 2022-04-04 10:44:11 +02:00
opts gofmt with go1.17 2022-03-26 20:21:00 +01:00
scripts scripts/build: make sure build-time is in UTC 2022-04-06 11:30:55 +02:00
service/logs bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
templates staticcheck: ignore SA1019: strings.Title is deprecated 2022-03-28 17:23:06 +02:00
vendor vendor: github.com/docker/docker 8941dcfcc5db4aefc351cd5b5bb4d524823035c0 2022-03-28 17:21:59 +02:00
.dockerignore validate manpages target 2022-02-25 17:11:17 +01:00
.gitattributes fix linguist with .gitattributes 2021-12-16 21:16:02 +01:00
.gitignore validate manpages target 2022-02-25 17:11:17 +01:00
.golangci.yml lint: update golangci-lint to v1.45.2 2022-03-28 10:37:27 +02:00
.mailmap Update authors and mailmap 2020-08-06 01:58:32 +02:00
AUTHORS Update authors and mailmap 2020-08-06 01:58:32 +02:00
CONTRIBUTING.md Fix broken link in CONTRIBUTING 2020-03-19 15:03:59 +01:00
Dockerfile Dockerfile: update buildx to v0.8.2 2022-04-04 10:34:49 +02:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Maintainers: remove Justin and Aaron 2019-12-04 13:08:15 +01:00
Makefile Change "COMPANY_NAME" to "PACKAGER_NAME" 2022-03-27 10:09:50 +02:00
NOTICE switch kr/pty to creack/pty v1.1.7 2019-07-29 16:45:41 -07:00
README.md remove circleci 2022-02-25 17:11:17 +01:00
TESTING.md tweak description of login/logout 2022-04-04 10:44:11 +02:00
VERSION Update version to 20.10-dev 2020-10-13 09:37:17 +02:00
codecov.yml Drop support for (archived) Compose-on-Kubernetes 2022-02-22 13:47:34 +01:00
docker-bake.hcl update go to 1.18.0 2022-03-28 17:23:09 +02:00
docker.Makefile Change "COMPANY_NAME" to "PACKAGER_NAME" 2022-03-27 10:09:50 +02:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.mod vendor: github.com/docker/docker 8941dcfcc5db4aefc351cd5b5bb4d524823035c0 2022-03-28 17:21:59 +02:00
vendor.sum vendor: github.com/docker/docker 8941dcfcc5db4aefc351cd5b5bb4d524823035c0 2022-03-28 17:21:59 +02:00

README.md

Docker CLI

PkgGoDev Build Status Test Status Go Report Card Codecov

About

This repository is the home of the cli used in the Docker CE and Docker EE products.

Development

docker/cli is developed using Docker.

Build CLI from source:

docker buildx bake

Build binaries for all supported platforms:

docker buildx bake cross

Build for a specific platform:

docker buildx bake --set binary.platform=linux/arm64 

Build dynamic binary for glibc or musl:

USE_GLIBC=1 docker buildx bake dynbinary 

Run all linting:

docker buildx bake lint shellcheck

Run test:

docker buildx bake test

List all the available targets:

make help

In-container development environment

Start an interactive development environment:

make -f docker.Makefile shell

Brought to you courtesy of our legal counsel. For more context, please see the NOTICE document in this repo.

Use and transfer of Docker may be subject to certain restrictions by the United States and other governments.

It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.

For more information, please see https://www.bis.doc.gov

Licensing

docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.