command: docker context create short: Create a context long: |- Creates a new `context`. This allows you to quickly switch the cli configuration to connect to different clusters or single nodes. usage: docker context create [OPTIONS] CONTEXT pname: docker context plink: docker_context.yaml options: - option: default-stack-orchestrator value_type: string description: | Default orchestrator for stack operations to use with this context (swarm|kubernetes|all) deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false - option: description value_type: string description: Description of the context deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false - option: docker value_type: stringToString default_value: '[]' description: set the docker endpoint deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false - option: from value_type: string description: create context from a named context deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false - option: kubernetes value_type: stringToString default_value: '[]' description: set the kubernetes endpoint deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false examples: |- ### Create a context with a docker and kubernetes 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`: ```bash $ docker context create \ --docker host=unix:///var/run/docker.sock \ --kubernetes config-file=/home/me/my-kube-config \ my-context ``` ### Create a context based on an existing context Use the `--from=` option to create a new context from an existing context. The example below creates a new context named `my-context` from the existing context `existing-context`: ```bash $ docker context create --from existing-context my-context ``` If the `--from` option is not set, the `context` is created from the current context: ```bash $ docker context create my-context ``` This can be used to create a context out of an existing `DOCKER_HOST` based script: ```bash $ source my-setup-script.sh $ docker context create my-context ``` To source only the `docker` endpoint configuration from an existing context use the `--docker from=` 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`: ```bash $ 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=` 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`: ```bash $ 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`. Refer to the [`docker context update` reference](context_update.md) for details. deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false