mirror of https://github.com/docker/cli.git
Merge pull request #3440 from thaJeztah/drop_kube_follow_up
update docs, and remove some unused code related to "compose on kubernetes" deprecation
This commit is contained in:
commit
60283c617d
|
@ -14,7 +14,6 @@ import (
|
|||
|
||||
// ExportOptions are the options used for exporting a context
|
||||
type ExportOptions struct {
|
||||
Kubeconfig bool
|
||||
ContextName string
|
||||
Dest string
|
||||
}
|
||||
|
@ -23,26 +22,22 @@ func newExportCommand(dockerCli command.Cli) *cobra.Command {
|
|||
opts := &ExportOptions{}
|
||||
cmd := &cobra.Command{
|
||||
Use: "export [OPTIONS] CONTEXT [FILE|-]",
|
||||
Short: "Export a context to a tar or kubeconfig file",
|
||||
Short: "Export a context to a tar archive FILE or a tar stream on STDOUT.",
|
||||
Args: cli.RequiresRangeArgs(1, 2),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
opts.ContextName = args[0]
|
||||
if len(args) == 2 {
|
||||
opts.Dest = args[1]
|
||||
} else {
|
||||
opts.Dest = opts.ContextName
|
||||
if opts.Kubeconfig {
|
||||
opts.Dest += ".kubeconfig"
|
||||
} else {
|
||||
opts.Dest += ".dockercontext"
|
||||
}
|
||||
opts.Dest = opts.ContextName + ".dockercontext"
|
||||
}
|
||||
return RunExport(dockerCli, opts)
|
||||
},
|
||||
}
|
||||
|
||||
flags := cmd.Flags()
|
||||
flags.BoolVar(&opts.Kubeconfig, "kubeconfig", false, "Export as a kubeconfig file")
|
||||
flags.Bool("kubeconfig", false, "Export as a kubeconfig file")
|
||||
flags.MarkDeprecated("kubeconfig", "option will be ignored")
|
||||
flags.SetAnnotation("kubeconfig", "kubernetes", nil)
|
||||
flags.SetAnnotation("kubeconfig", "deprecated", nil)
|
||||
return cmd
|
||||
|
|
|
@ -60,9 +60,7 @@ func TestDefaultContextInitializer(t *testing.T) {
|
|||
cli, err := NewDockerCli()
|
||||
assert.NilError(t, err)
|
||||
defer env.Patch(t, "DOCKER_HOST", "ssh://someswarmserver")()
|
||||
cli.configFile = &configfile.ConfigFile{
|
||||
StackOrchestrator: "swarm",
|
||||
}
|
||||
cli.configFile = &configfile.ConfigFile{}
|
||||
ctx, err := ResolveDefaultContext(&cliflags.CommonOptions{
|
||||
TLS: true,
|
||||
TLSOptions: &tlsconfig.Options{
|
||||
|
|
|
@ -75,6 +75,9 @@ func (c *clientContextContext) DockerEndpoint() string {
|
|||
return c.c.DockerEndpoint
|
||||
}
|
||||
|
||||
// KubernetesEndpoint returns the kubernetes endpoint.
|
||||
//
|
||||
// Deprecated: support for kubernetes endpoints in contexts has been removed, and this formatting option will always be empty.
|
||||
func (c *clientContextContext) KubernetesEndpoint() string {
|
||||
return ""
|
||||
}
|
||||
|
|
|
@ -17,10 +17,6 @@ func getStackFilter(namespace string) filters.Args {
|
|||
return filter
|
||||
}
|
||||
|
||||
func getStackServiceFilter(namespace string) filters.Args {
|
||||
return getStackFilter(namespace)
|
||||
}
|
||||
|
||||
func getStackFilterFromOpt(namespace string, opt opts.FilterOpt) filters.Args {
|
||||
filter := opt.Value()
|
||||
filter.Add("label", convert.LabelNamespace+"="+namespace)
|
||||
|
@ -34,7 +30,7 @@ func getAllStacksFilter() filters.Args {
|
|||
}
|
||||
|
||||
func getStackServices(ctx context.Context, apiclient client.APIClient, namespace string) ([]swarm.Service, error) {
|
||||
return apiclient.ServiceList(ctx, types.ServiceListOptions{Filters: getStackServiceFilter(namespace)})
|
||||
return apiclient.ServiceList(ctx, types.ServiceListOptions{Filters: getStackFilter(namespace)})
|
||||
}
|
||||
|
||||
func getStackNetworks(ctx context.Context, apiclient client.APIClient, namespace string) ([]types.NetworkResource, error) {
|
||||
|
|
|
@ -128,13 +128,6 @@ func runVersion(dockerCli command.Cli, opts *versionOptions) error {
|
|||
}
|
||||
|
||||
// TODO print error if kubernetes is used?
|
||||
// orchestrator, err := dockerCli.StackOrchestrator("")
|
||||
// if err != nil {
|
||||
// return cli.StatusError{StatusCode: 64, Status: err.Error()}
|
||||
// }
|
||||
// if orchestrator.HasKubernetes() {
|
||||
// // TODO print error if kubernetes is used?
|
||||
// }
|
||||
|
||||
vd := versionInfo{
|
||||
Client: clientVersion{
|
||||
|
|
|
@ -45,7 +45,7 @@ type ConfigFile struct {
|
|||
PruneFilters []string `json:"pruneFilters,omitempty"`
|
||||
Proxies map[string]ProxyConfig `json:"proxies,omitempty"`
|
||||
Experimental string `json:"experimental,omitempty"`
|
||||
StackOrchestrator string `json:"stackOrchestrator,omitempty"`
|
||||
StackOrchestrator string `json:"stackOrchestrator,omitempty"` // Deprecated: swarm is now the default orchestrator, and this option is ignored.
|
||||
CurrentContext string `json:"currentContext,omitempty"`
|
||||
CLIPluginsExtraDirs []string `json:"cliPluginsExtraDirs,omitempty"`
|
||||
Plugins map[string]map[string]string `json:"plugins,omitempty"`
|
||||
|
|
|
@ -197,9 +197,31 @@ to decrypt the private key, and store it un-encrypted to continue using it.
|
|||
### Kubernetes stack and context support
|
||||
|
||||
**Deprecated in Release: v20.10**
|
||||
**Removed in Release: v21.xx**
|
||||
|
||||
Following the deprecation of [Compose on Kubernetes](https://github.com/docker/compose-on-kubernetes), support for
|
||||
Kubernetes in the `stack` and `context` commands in the docker CLI is now marked as deprecated as well.
|
||||
Following the deprecation of [Compose on Kubernetes](https://github.com/docker/compose-on-kubernetes),
|
||||
support for Kubernetes in the `stack` and `context` commands has been removed from
|
||||
the cli, and options related to this functionality are now either ignored, or may
|
||||
produce an error.
|
||||
|
||||
The following command-line flags are removed from the `docker context` subcommands:
|
||||
|
||||
- `--default-stack-orchestrator` - swarm is now the only (and default) orchestrator for stacks.
|
||||
- `--kubernetes` - the kubernetes endpoint can no longer be stored in `docker context`.
|
||||
- `--kubeconfig` - exporting a context as a kubeconfig file is no longer supported.
|
||||
|
||||
The output produced by the `docker context inspect` subcommand no longer contains
|
||||
information about `StackOrchestrator` and `Kubernetes` endpoints for new contexts.
|
||||
|
||||
The following command-line flags are removed from the `docker stack` subcommands:
|
||||
|
||||
- `--kubeconfig` - using a kubeconfig file as context is no longer supported.
|
||||
- `--namespace` - configuring the kubernetes namespace for stacks is no longer supported.
|
||||
- `--orchestrator` - swarm is now the only (and default) orchestrator for stacks.
|
||||
|
||||
The `DOCKER_STACK_ORCHESTRATOR`, `DOCKER_ORCHESTRATOR`, and `KUBECONFIG` environment
|
||||
variables, as well as the `stackOrchestrator` option in the `~/.docker/config.json`
|
||||
cli configuration file are no longer used, and ignored.
|
||||
|
||||
### Pulling images from non-compliant image registries
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ The following list of environment variables are supported by the `docker` comman
|
|||
line:
|
||||
|
||||
| Variable | Description |
|
||||
|:------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|:------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `DOCKER_API_VERSION` | Override the negotiated API version to use for debugging (e.g. `1.19`) |
|
||||
| `DOCKER_CERT_PATH` | Location of your authentication keys. This variable is used both by the `docker` CLI and the [`dockerd` daemon](dockerd.md) |
|
||||
| `DOCKER_CONFIG` | The location of your client configuration files. |
|
||||
|
@ -76,7 +76,6 @@ line:
|
|||
| `DOCKER_DEFAULT_PLATFORM` | Default platform for commands that take the `--platform` flag. |
|
||||
| `DOCKER_HIDE_LEGACY_COMMANDS` | When set, Docker hides "legacy" top-level commands (such as `docker rm`, and `docker pull`) in `docker help` output, and only `Management commands` per object-type (e.g., `docker container`) are printed. This may become the default in a future release, at which point this environment-variable is removed. |
|
||||
| `DOCKER_HOST` | Daemon socket to connect to. |
|
||||
| `DOCKER_STACK_ORCHESTRATOR` | Configure the default orchestrator to use when using `docker stack` management commands. |
|
||||
| `DOCKER_TLS_VERIFY` | When set Docker uses TLS and verifies the remote. This variable is used both by the `docker` CLI and the [`dockerd` daemon](dockerd.md) |
|
||||
| `BUILDKIT_PROGRESS` | Set type of progress output (`auto`, `plain`, `tty`) when [building](build.md) with [BuildKit backend](../builder.md#buildkit). Use plain to show container output (default `auto`). |
|
||||
|
||||
|
@ -192,14 +191,6 @@ for a specific registry. For more information, see the
|
|||
[**Credential helpers** section in the `docker login` documentation](login.md#credential-helpers)
|
||||
|
||||
|
||||
### Orchestrator options for docker stacks
|
||||
|
||||
The property `stackOrchestrator` specifies the default orchestrator to use when
|
||||
running `docker stack` management commands. Valid values are `"swarm"`,
|
||||
`"kubernetes"`, and `"all"`. This property can be overridden with the
|
||||
`DOCKER_STACK_ORCHESTRATOR` environment variable, or the `--orchestrator` flag.
|
||||
|
||||
|
||||
### Automatic proxy configuration for containers
|
||||
|
||||
The property `proxies` specifies proxy environment variables to be automatically
|
||||
|
@ -282,7 +273,6 @@ various fields:
|
|||
"awesomereg.example.org": "hip-star",
|
||||
"unicorn.example.com": "vcbait"
|
||||
},
|
||||
"stackOrchestrator": "kubernetes",
|
||||
"plugins": {
|
||||
"plugin1": {
|
||||
"option": "value"
|
||||
|
|
|
@ -21,14 +21,6 @@ cert Path to TLS certificate file
|
|||
key Path to TLS key file
|
||||
skip-tls-verify Skip TLS certificate validation
|
||||
|
||||
Kubernetes endpoint config:
|
||||
|
||||
NAME DESCRIPTION
|
||||
from Copy Kubernetes endpoint configuration from an existing context
|
||||
config-file Path to a Kubernetes config file
|
||||
context-override Overrides the context set in the kubernetes config file
|
||||
namespace-override Overrides the namespace set in the kubernetes config file
|
||||
|
||||
Example:
|
||||
|
||||
$ docker context create my-context \
|
||||
|
@ -36,15 +28,9 @@ $ docker context create my-context \
|
|||
--docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"
|
||||
|
||||
Options:
|
||||
--default-stack-orchestrator string Default orchestrator for
|
||||
stack operations to use with
|
||||
this context
|
||||
(swarm|kubernetes|all)
|
||||
--description string Description of the context
|
||||
--docker stringToString set the docker endpoint
|
||||
(default [])
|
||||
--kubernetes stringToString set the kubernetes endpoint
|
||||
(default [])
|
||||
--from string Create the context from an existing context
|
||||
```
|
||||
|
||||
|
@ -55,17 +41,15 @@ configuration to connect to different clusters or single nodes.
|
|||
|
||||
## Examples
|
||||
|
||||
### Create a context with a docker and kubernetes endpoint
|
||||
### Create a context with a docker endpoint
|
||||
|
||||
To create a context from scratch provide the docker and, if required,
|
||||
kubernetes options. The example below creates the context `my-context`
|
||||
with a docker endpoint of `/var/run/docker.sock` and a kubernetes configuration
|
||||
sourced from the file `/home/me/my-kube-config`:
|
||||
with a docker endpoint of `/var/run/docker.sock`:
|
||||
|
||||
```console
|
||||
$ docker context create \
|
||||
--docker host=unix:///var/run/docker.sock \
|
||||
--kubernetes config-file=/home/me/my-kube-config \
|
||||
my-context
|
||||
```
|
||||
|
||||
|
@ -92,32 +76,18 @@ $ source my-setup-script.sh
|
|||
$ docker context create my-context
|
||||
```
|
||||
|
||||
To source only the `docker` endpoint configuration from an existing context
|
||||
To source the `docker` endpoint configuration from an existing context
|
||||
use the `--docker from=<context-name>` option. The example below creates a
|
||||
new context named `my-context` using the docker endpoint configuration from
|
||||
the existing context `existing-context` and a kubernetes configuration sourced
|
||||
from the file `/home/me/my-kube-config`:
|
||||
the existing context `existing-context`:
|
||||
|
||||
```console
|
||||
$ docker context create \
|
||||
--docker from=existing-context \
|
||||
--kubernetes config-file=/home/me/my-kube-config \
|
||||
my-context
|
||||
```
|
||||
|
||||
To source only the `kubernetes` configuration from an existing context use the
|
||||
`--kubernetes from=<context-name>` option. The example below creates a new
|
||||
context named `my-context` using the kuberentes configuration from the existing
|
||||
context `existing-context` and a docker endpoint of `/var/run/docker.sock`:
|
||||
|
||||
```console
|
||||
$ docker context create \
|
||||
--docker host=unix:///var/run/docker.sock \
|
||||
--kubernetes from=existing-context \
|
||||
my-context
|
||||
```
|
||||
|
||||
Docker and Kubernetes endpoints configurations, as well as default stack
|
||||
orchestrator and description can be modified with `docker context update`.
|
||||
Docker endpoints configurations, as well as the description can be modified with
|
||||
`docker context update`.
|
||||
|
||||
Refer to the [`docker context update` reference](context_update.md) for details.
|
||||
|
|
|
@ -9,15 +9,16 @@ keywords: "context, export"
|
|||
```markdown
|
||||
Usage: docker context export [OPTIONS] CONTEXT [FILE|-]
|
||||
|
||||
Export a context to a tar or kubeconfig file
|
||||
|
||||
Options:
|
||||
--kubeconfig Export as a kubeconfig file
|
||||
Export a context to a tar archive FILE or a tar stream on STDOUT.
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Exports a context in a file that can then be used with `docker context import`
|
||||
(or with `kubectl` if `--kubeconfig` is set). Default output filename is
|
||||
`<CONTEXT>.dockercontext`, or `<CONTEXT>.kubeconfig` if `--kubeconfig` is set.
|
||||
To export to `STDOUT`, you can run `docker context export my-context -`.
|
||||
Exports a context to a file that can then be used with `docker context import`.
|
||||
|
||||
The default output filename is `<CONTEXT>.dockercontext`. To export to `STDOUT`,
|
||||
use `-` as filename, for example:
|
||||
|
||||
```console
|
||||
$ docker context export my-context -
|
||||
```
|
||||
|
|
|
@ -30,27 +30,16 @@ $ docker context inspect "local+aks"
|
|||
{
|
||||
"Name": "local+aks",
|
||||
"Metadata": {
|
||||
"Description": "Local Docker Engine + Azure AKS endpoint",
|
||||
"StackOrchestrator": "kubernetes"
|
||||
"Description": "Local Docker Engine",
|
||||
"StackOrchestrator": "swarm"
|
||||
},
|
||||
"Endpoints": {
|
||||
"docker": {
|
||||
"Host": "npipe:////./pipe/docker_engine",
|
||||
"SkipTLSVerify": false
|
||||
},
|
||||
"kubernetes": {
|
||||
"Host": "https://simon-aks-***.hcp.uksouth.azmk8s.io:443",
|
||||
"SkipTLSVerify": false,
|
||||
"DefaultNamespace": "default"
|
||||
}
|
||||
},
|
||||
"TLSMaterial": {
|
||||
"kubernetes": [
|
||||
"ca.pem",
|
||||
"cert.pem",
|
||||
"key.pem"
|
||||
]
|
||||
},
|
||||
"TLSMaterial": {},
|
||||
"Storage": {
|
||||
"MetadataPath": "C:\\Users\\simon\\.docker\\contexts\\meta\\cb6d08c0a1bfa5fe6f012e61a442788c00bed93f509141daff05f620fc54ddee",
|
||||
"TLSPath": "C:\\Users\\simon\\.docker\\contexts\\tls\\cb6d08c0a1bfa5fe6f012e61a442788c00bed93f509141daff05f620fc54ddee"
|
||||
|
|
|
@ -21,28 +21,14 @@ cert Path to TLS certificate file
|
|||
key Path to TLS key file
|
||||
skip-tls-verify Skip TLS certificate validation
|
||||
|
||||
Kubernetes endpoint config:
|
||||
|
||||
NAME DESCRIPTION
|
||||
from Copy Kubernetes endpoint configuration from an existing context
|
||||
config-file Path to a Kubernetes config file
|
||||
context-override Overrides the context set in the kubernetes config file
|
||||
namespace-override Overrides the namespace set in the kubernetes config file
|
||||
|
||||
Example:
|
||||
|
||||
$ docker context update my-context --description "some description" --docker "host=tcp://myserver:2376,ca=~/ca-file,cert=~/cert-file,key=~/key-file"
|
||||
|
||||
Options:
|
||||
--default-stack-orchestrator string Default orchestrator for
|
||||
stack operations to use with
|
||||
this context
|
||||
(swarm|kubernetes|all)
|
||||
--description string Description of the context
|
||||
--docker stringToString set the docker endpoint
|
||||
(default [])
|
||||
--kubernetes stringToString set the kubernetes endpoint
|
||||
(default [])
|
||||
```
|
||||
|
||||
## Description
|
||||
|
|
|
@ -13,8 +13,6 @@ Manage Docker stacks
|
|||
|
||||
Options:
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
|
||||
Commands:
|
||||
deploy Deploy a new stack or update an existing stack
|
||||
|
|
|
@ -17,9 +17,6 @@ Aliases:
|
|||
Options:
|
||||
-c, --compose-file strings Path to a Compose file, or "-" to read from stdin
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
--namespace string Kubernetes namespace to use
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
--prune Prune services that are no longer referenced
|
||||
--resolve-image string Query the registry to resolve image digest and supported platforms
|
||||
("always"|"changed"|"never") (default "always")
|
||||
|
|
|
@ -17,9 +17,6 @@ Aliases:
|
|||
Options:
|
||||
--help Print usage
|
||||
--format string Pretty-print stacks using a Go template
|
||||
--kubeconfig string Kubernetes config file
|
||||
--namespace string Kubernetes namespace to use
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
```
|
||||
|
||||
## Description
|
||||
|
|
|
@ -15,11 +15,8 @@ Options:
|
|||
-f, --filter filter Filter output based on conditions provided
|
||||
--format string Pretty-print tasks using a Go template
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
--namespace string Kubernetes namespace to use
|
||||
--no-resolve Do not map IDs to Names
|
||||
--no-trunc Do not truncate output
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
-q, --quiet Only display task IDs
|
||||
```
|
||||
|
||||
|
|
|
@ -16,9 +16,6 @@ Aliases:
|
|||
|
||||
Options:
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
--namespace string Kubernetes namespace to use
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
```
|
||||
|
||||
## Description
|
||||
|
@ -36,7 +33,8 @@ Remove the stack from the swarm.
|
|||
|
||||
### Remove a stack
|
||||
|
||||
This will remove the stack with the name `myapp`. Services, networks, and secrets associated with the stack will be removed.
|
||||
This will remove the stack with the name `myapp`. Services, networks, and secrets
|
||||
associated with the stack will be removed.
|
||||
|
||||
```console
|
||||
$ docker stack rm myapp
|
||||
|
@ -50,7 +48,8 @@ Removing network myapp_frontend
|
|||
|
||||
### Remove multiple stacks
|
||||
|
||||
This will remove all the specified stacks, `myapp` and `vossibility`. Services, networks, and secrets associated with all the specified stacks will be removed.
|
||||
This will remove all the specified stacks, `myapp` and `vossibility`. Services,
|
||||
networks, and secrets associated with all the specified stacks will be removed.
|
||||
|
||||
```console
|
||||
$ docker stack rm myapp vossibility
|
||||
|
|
|
@ -15,9 +15,6 @@ Options:
|
|||
-f, --filter filter Filter output based on conditions provided
|
||||
--format string Pretty-print services using a Go template
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
--namespace string Kubernetes namespace to use
|
||||
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
|
||||
-q, --quiet Only display IDs
|
||||
```
|
||||
|
||||
|
@ -63,23 +60,14 @@ dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c8
|
|||
The currently supported filters are:
|
||||
|
||||
* id / ID (`--filter id=7be5ei6sqeye`, or `--filter ID=7be5ei6sqeye`)
|
||||
* Swarm: supported
|
||||
* Kubernetes: not supported
|
||||
* label (`--filter label=key=value`)
|
||||
* Swarm: supported
|
||||
* Kubernetes: supported
|
||||
* mode (`--filter mode=replicated`, or `--filter mode=global`)
|
||||
* Swarm: not supported
|
||||
* Kubernetes: supported
|
||||
* name (`--filter name=myapp_web`)
|
||||
* Swarm: supported
|
||||
* Kubernetes: supported
|
||||
* node (`--filter node=mynode`)
|
||||
* Swarm: not supported
|
||||
* Kubernetes: supported
|
||||
* service (`--filter service=web`)
|
||||
* Swarm: not supported
|
||||
* Kubernetes: supported
|
||||
|
||||
### Formatting
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@ Show the Docker version information
|
|||
Options:
|
||||
-f, --format string Format the output using the given Go template
|
||||
--help Print usage
|
||||
--kubeconfig string Kubernetes config file
|
||||
```
|
||||
|
||||
## Description
|
||||
|
|
Loading…
Reference in New Issue