This hack was added in an attempt to continue supporting the experimental (non-buildkit) `--platform` option, by dynamically updating the API version required if buildkit isn't enabled. This hack didn't work, however, because at the moment the override is added, the command is not yet attached to the "root" (`docker`) command, and because of that, the command itself is the `root` command; `cmd.Root()` returned the `build` command. As a result, validation steps defined as `PersistentPreRunE` on the root command were not executed, causing invalid flags/options to not producing an error. Attempts to use an alternative approach (for example, cobra supports both a `PersistentPreRun` and `PersistentPreRunE`) did not work either, because `PersistentPreRunE` takes precedence over `PersistentPreRun`, and only one will be executed. Now that `--platform` should be supported for other cases than just for experimental (LCOW), let's remove the 'experimental' check, and just assume it's supported for API v1.32 and up. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
docker/cli
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 a linux binary:
$ make -f docker.Makefile binary
Build binaries for all supported platforms:
$ make -f docker.Makefile cross
Run all linting:
$ make -f docker.Makefile lint
List all the available targets:
$ make help
In-container development environment
Start an interactive development environment:
$ make -f docker.Makefile shell
In the development environment you can run many tasks, including build binaries:
$ make binary
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.