`NewDockerCli` was configuring the standard streams using local code; this patch instead uses the available `WithStandardStreams()` option to do the same. There is slight difference in the order of events; Previously, user-provided options would be applied first, after which NewDockerCli would check if any of "in", "out", or "err" were nil, and if so set them to the default stream (or writer) for that output. The new code unconditionally sets the defaults _before_ applying user-provided options. In practive, howver, this makes no difference; the fields set are not exported, and the only functions updating them are `WithStandardStreams`, `WithInputStream`, and `WithCombinedStream`, neither of which checks the old value (so always overrides). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Docker CLI
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
Legal
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.