README
¶
Docker CLI
About
This repository is the home of the Docker CLI.
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
Run the unit test:
$ make -f docker.Makefile test-unit
Run the full test suite:
$ make -f docker.Makefile test
List all the available targets:
make help
In-container development environment
Start an interactive development environment:
make shell
Legal
Brought to you courtesy of our legal counsel. For more context, 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, 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.
Directories
¶
| Path | Synopsis |
|---|---|
|
command/image/build/internal/urlutil
Package urlutil provides helper function to check if a given build-context location should be considered a URL or a remote Git repository.
|
Package urlutil provides helper function to check if a given build-context location should be considered a URL or a remote Git repository. |
|
command/service/internal/genericresource
Package genericresource is a local fork of SwarmKit's genericresource package, without protobuf dependencies.
|
Package genericresource is a local fork of SwarmKit's genericresource package, without protobuf dependencies. |
|
command/system/pruner
Package pruner registers "prune" functions to be included as part of "docker system prune".
|
Package pruner registers "prune" functions to be included as part of "docker system prune". |
|
connhelper
Package connhelper provides helpers for connecting to a remote daemon host with custom logic.
|
Package connhelper provides helpers for connecting to a remote daemon host with custom logic. |
|
connhelper/commandconn
Package commandconn provides a net.Conn implementation that can be used for proxying (or emulating) stream via a custom command.
|
Package commandconn provides a net.Conn implementation that can be used for proxying (or emulating) stream via a custom command. |
|
connhelper/internal/syntax
Package syntax is a fork of [mvdan.cc/sh/[email protected]/syntax].
|
Package syntax is a fork of [mvdan.cc/sh/[email protected]/syntax]. |
|
connhelper/ssh
Package ssh provides the connection helper for ssh:// URL.
|
Package ssh provides the connection helper for ssh:// URL. |
|
context/store
Package store provides a generic way to store credentials to connect to virtually any kind of remote system.
|
Package store provides a generic way to store credentials to connect to virtually any kind of remote system. |
|
cli-plugins
|
|
|
examples/helloworld
command
|
|
|
hooks
Package hooks defines the contract between the Docker CLI and CLI plugin hook implementations.
|
Package hooks defines the contract between the Docker CLI and CLI plugin hook implementations. |
|
cmd
|
|
|
docker
command
|
|
|
docker/winresources
Package winresources is used to embed Windows resources into docker.exe.
|
Package winresources is used to embed Windows resources into docker.exe. |
|
docker-trust
module
|
|
|
e2e
|
|
|
cli-plugins/plugins/badmeta
command
|
|
|
cli-plugins/plugins/presocket
command
|
|
|
testutils/plugins
command
|
|
|
internal
|
|
|
gocompat
command
|
|
|
lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
|
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init. |
|
logdetails
Package logdetails contains tools for parsing docker log lines.
|
Package logdetails contains tools for parsing docker log lines. |
|
registry
Package registry is a fork of github.com/docker/docker/registry, taken at commit [moby@49306c6].
|
Package registry is a fork of github.com/docker/docker/registry, taken at commit [moby@49306c6]. |
|
test
Package test is a test-only package that can be used by other cli package to write unit test.
|
Package test is a test-only package that can be used by other cli package to write unit test. |
|
test/builders
Package builders helps you create struct for your unit test while keeping them expressive.
|
Package builders helps you create struct for your unit test while keeping them expressive. |
|
pkg
|
|
|
kvfile
Package kvfile provides utilities to parse line-delimited key/value files such as used for label-files and env-files.
|
Package kvfile provides utilities to parse line-delimited key/value files such as used for label-files and env-files. |