|
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 94 KiB |
|
|
@ -1,22 +1,23 @@
|
||||||
---
|
---
|
||||||
|
title: UCP architecture
|
||||||
description: Learn about the architecture of Docker Universal Control Plane.
|
description: Learn about the architecture of Docker Universal Control Plane.
|
||||||
keywords: docker, ucp, architecture
|
keywords: docker, ucp, architecture
|
||||||
title: UCP architecture
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Universal Control Plane is a containerized application that runs on [Docker Enterprise Edition](/enterprise/index.md) and extends its functionality to
|
Universal Control Plane is a containerized application that runs on
|
||||||
make it easier to deploy, configure, and monitor your applications at scale.
|
[Docker Enterprise Edition](/enterprise/index.md) and extends its functionality
|
||||||
|
to make it easier to deploy, configure, and monitor your applications at scale.
|
||||||
|
|
||||||
It also secures Docker with role-based access control so that only authorized
|
UCP also secures Docker with role-based access control so that only authorized
|
||||||
users can make changes and deploy applications to your Docker cluster.
|
users can make changes and deploy applications to your Docker cluster.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Once Universal Control Plane (UCP) is deployed, developers and IT operations
|
Once Universal Control Plane (UCP) instance is deployed, developers and IT
|
||||||
no longer interact with Docker Engine directly, but interact with UCP instead.
|
operations no longer interact with Docker Engine directly, but interact with
|
||||||
Since UCP exposes the standard Docker API this is all done transparently, so
|
UCP instead. Since UCP exposes the standard Docker API, this is all done
|
||||||
that you can use the tools you already know and love like the Docker CLI client
|
transparently, so that you can use the tools you already know and love, like
|
||||||
and Docker Compose.
|
the Docker CLI client and Docker Compose.
|
||||||
|
|
||||||
|
|
||||||
## Under the hood
|
## Under the hood
|
||||||
|
|
@ -26,31 +27,38 @@ by Docker.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
A swarm is a collection of nodes that are in the same Docker swarm. [Nodes](/engine/swarm/key-concepts.md) in a Docker swarm operate in one of two modes: Manager or Worker. If nodes are not already running in a swarm when installing UCP, nodes will be configured to run in swarm mode.
|
A swarm is a collection of nodes that are in the same Docker cluster.
|
||||||
|
[Nodes](/engine/swarm/key-concepts.md) in a Docker swarm operate in one of two
|
||||||
|
modes: Manager or Worker. If nodes are not already running in a swarm when
|
||||||
|
installing UCP, nodes will be configured to run in swarm mode.
|
||||||
|
|
||||||
When you deploy UCP, it starts running a globally scheduled service called
|
When you deploy UCP, it starts running a globally scheduled service called
|
||||||
`ucp-agent`. This service monitors the node where it is running and starts
|
`ucp-agent`. This service monitors the node where it's running and starts
|
||||||
and stops UCP services, based on whether that node is a
|
and stops UCP services, based on whether the node is a
|
||||||
[manager or a worker node](/engine/swarm/key-concepts.md).
|
[manager or a worker node](/engine/swarm/key-concepts.md).
|
||||||
|
|
||||||
If the node is a:
|
If the node is a:
|
||||||
|
|
||||||
* **Manager**: the `ucp-agent` service automatically starts serving all UCP
|
* **Manager**: the `ucp-agent` service automatically starts serving all UCP
|
||||||
components including the UCP web UI and data stores used by UCP. The `ucp-agent` accomplishes this by [deploying several containers](#ucp-components-in-manager-nodes) on the node. By promoting a node to manager, UCP automatically becomes highly available and fault tolerant.
|
components, including the UCP web UI and data stores used by UCP. The
|
||||||
* **Worker**: on worker nodes the `ucp-agent` service starts serving a proxy
|
`ucp-agent` accomplishes this by
|
||||||
service that ensures only authorized users and other UCP services can run Docker
|
[deploying several containers](#ucp-components-in-manager-nodes)
|
||||||
commands in that node. The `ucp-agent` only deploys a [subset of containers](#ucp-components-in-worker-nodes) on worker nodes.
|
on the node. By promoting a node to manager, UCP automatically becomes
|
||||||
|
highly available and fault tolerant.
|
||||||
|
* **Worker**: on worker nodes, the `ucp-agent` service starts serving a proxy
|
||||||
|
service that ensures only authorized users and other UCP services can run
|
||||||
|
Docker commands in that node. The `ucp-agent` deploys a
|
||||||
|
[subset of containers](#ucp-components-in-worker-nodes) on worker nodes.
|
||||||
|
|
||||||
## UCP internal components
|
## UCP internal components
|
||||||
|
|
||||||
The core component of UCP is a globally-scheduled service called `ucp-agent`.
|
The core component of UCP is a globally-scheduled service called `ucp-agent`.
|
||||||
When you install UCP on a node, or join a node to a swarm that is being managed
|
When you install UCP on a node, or join a node to a swarm that's being managed
|
||||||
by UCP, the `ucp-agent` service starts running on that node.
|
by UCP, the `ucp-agent` service starts running on that node.
|
||||||
|
|
||||||
Once this service is running, it deploys containers with other UCP components,
|
Once this service is running, it deploys containers with other UCP components,
|
||||||
and ensures they keep running. The UCP components that are deployed
|
and it ensures they keep running. The UCP components that are deployed
|
||||||
on a node depend on whether that node is a manager or a worker.
|
on a node depend on whether the node is a manager or a worker.
|
||||||
|
|
||||||
### UCP components in manager nodes
|
### UCP components in manager nodes
|
||||||
|
|
||||||
|
|
@ -73,8 +81,6 @@ persist the state of UCP. These are the UCP services running on manager nodes:
|
||||||
| ucp-swarm-manager | Used to provide backwards-compatibility with Docker Swarm |
|
| ucp-swarm-manager | Used to provide backwards-compatibility with Docker Swarm |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### UCP components in worker nodes
|
### UCP components in worker nodes
|
||||||
|
|
||||||
Worker nodes are the ones where you run your applications. These are the UCP
|
Worker nodes are the ones where you run your applications. These are the UCP
|
||||||
|
|
@ -120,7 +126,7 @@ By default, the data for these volumes can be found at
|
||||||
|
|
||||||
There are two ways to interact with UCP: the web UI or the CLI.
|
There are two ways to interact with UCP: the web UI or the CLI.
|
||||||
|
|
||||||
You can use the UCP web UI to manage your cluster, grant and revoke user
|
You can use the UCP web UI to manage your swarm, grant and revoke user
|
||||||
permissions, deploy, configure, manage, and monitor your applications.
|
permissions, deploy, configure, manage, and monitor your applications.
|
||||||
|
|
||||||

|

|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
---
|
---
|
||||||
description: Your Docker subscription gives you access to prioritized support. You
|
|
||||||
can file tickets via email, your the support portal.
|
|
||||||
keywords: Docker, support, help
|
|
||||||
title: Get support
|
title: Get support
|
||||||
|
description: Your Docker EE subscription gives you access to prioritized support. You can file tickets via email or the support portal.
|
||||||
|
keywords: Docker, support, help
|
||||||
---
|
---
|
||||||
|
|
||||||
Your Docker Data Center, or Universal Control Plane subscription gives you
|
Your Docker Enterprise Edition subscription gives you access to prioritized
|
||||||
access to prioritized support. The service levels depend on your subscription.
|
support. The service levels depend on your subscription.
|
||||||
|
|
||||||
If you need help, you can file a ticket via:
|
If you need help, you can file a ticket via:
|
||||||
|
|
||||||
|
|
@ -21,8 +20,8 @@ support dump:
|
||||||
|
|
||||||
## From the UI
|
## From the UI
|
||||||
|
|
||||||
1. Log into the UCP UI with an administrator account.
|
1. Log into the UCP web UI with an administrator account.
|
||||||
2. On the top-right menu, **click your username**, and choose **Support Dump**.
|
2. In the top-left menu, click your username and choose **Support Dump**.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
|
|
@ -35,10 +34,10 @@ and run:
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
--name ucp \
|
--name ucp \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
{{ page.docker_image }} \
|
{{ page.ucp_latest_image }} \
|
||||||
support > docker-support.tgz
|
support > docker-support.tgz
|
||||||
```
|
```
|
||||||
|
|
||||||
This support dump only contains logs for the node where you're running the
|
This support dump only contains logs for the node where you're running the
|
||||||
command. If your UCP is highly available, you should collect support dumps
|
command. If your UCP is highly available, you should collect support dumps
|
||||||
from all the manager nodes.
|
from all of the manager nodes.
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 65 KiB |
|
|
@ -1,23 +1,24 @@
|
||||||
---
|
---
|
||||||
|
title: Universal Control Plane overview
|
||||||
description: Learn about Docker Universal Control Plane, the enterprise-grade cluster
|
description: Learn about Docker Universal Control Plane, the enterprise-grade cluster
|
||||||
management solution from Docker.
|
management solution from Docker.
|
||||||
keywords: docker, ucp, overview, orchestration, clustering
|
keywords: docker, ucp, overview, orchestration, clustering
|
||||||
title: Universal Control Plane overview
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Docker Universal Control Plane (UCP) is the enterprise-grade cluster management
|
Docker Universal Control Plane (UCP) is the enterprise-grade cluster management
|
||||||
solution from Docker. You install it on-premises or in your virtual private
|
solution from Docker. You install it on-premises or in your virtual private
|
||||||
cloud, and it helps you manage your Docker cluster and applications from a
|
cloud, and it helps you manage your Docker swarm and applications through a
|
||||||
single place.
|
single interface.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
## Centralized cluster management
|
## Centralized swarm management
|
||||||
|
|
||||||
With Docker you can join up to thousands of physical or virtual machines
|
With Docker, you can join up to thousands of physical or virtual machines
|
||||||
together to create a container cluster, allowing you to deploy your applications
|
together to create a container cluster, or swarm, allowing you to deploy your
|
||||||
at scale. Docker Universal Control Plane extends the functionality provided
|
applications at scale. Docker Universal Control Plane extends the
|
||||||
by Docker to make it easier to manage your cluster from a centralized place.
|
functionality provided by Docker to make it easier to manage your swarm
|
||||||
|
from a centralized place.
|
||||||
|
|
||||||
You can manage and monitor your container cluster using a graphical UI.
|
You can manage and monitor your container cluster using a graphical UI.
|
||||||
|
|
||||||
|
|
@ -28,38 +29,39 @@ you already know, including the Docker CLI client, to deploy and manage your
|
||||||
applications.
|
applications.
|
||||||
|
|
||||||
As an example, you can use the `docker info` command to check the
|
As an example, you can use the `docker info` command to check the
|
||||||
status of a Docker cluster managed by UCP:
|
status of a Docker swarm managed by UCP:
|
||||||
|
|
||||||
```bash
|
```none
|
||||||
$ docker info
|
$ docker info
|
||||||
|
|
||||||
Containers: 30
|
Containers: 38
|
||||||
Images: 24
|
Running: 23
|
||||||
Server Version: ucp/2.0.1
|
Paused: 0
|
||||||
Role: primary
|
Stopped: 15
|
||||||
Strategy: spread
|
Images: 17
|
||||||
Filters: health, port, containerslots, dependency, affinity, constraint
|
Server Version: 17.06
|
||||||
Nodes: 2
|
...
|
||||||
ucp-node-1: 192.168.99.100:12376
|
Swarm: active
|
||||||
└ Status: Healthy
|
NodeID: ocpv7el0uz8g9q7dmw8ay4yps
|
||||||
└ Containers: 20
|
Is Manager: true
|
||||||
ucp-node-2: 192.168.99.101:12376
|
ClusterID: tylpv1kxjtgoik2jnrg8pvkg6
|
||||||
└ Status: Healthy
|
Managers: 1
|
||||||
└ Containers: 10
|
…
|
||||||
```
|
```
|
||||||
|
|
||||||
## Deploy, manage, and monitor
|
## Deploy, manage, and monitor
|
||||||
|
|
||||||
With Docker UCP you can manage from a centralized place all the computing
|
With Docker UCP, you can manage from a centralized place all of the computing
|
||||||
resources you have available like nodes, volumes, and networks.
|
resources you have available, like nodes, volumes, and networks.
|
||||||
|
|
||||||
You can also deploy and monitor your applications and services.
|
You can also deploy and monitor your applications and services.
|
||||||
|
|
||||||
## Built-in security and access control
|
## Built-in security and access control
|
||||||
|
|
||||||
Docker UCP has its own built-in authentication mechanism and integrates with
|
Docker UCP has its own built-in authentication mechanism and integrates with
|
||||||
LDAP services. It also has Role Based Access Control (RBAC), so that you can
|
LDAP services. It also has role-based access control (RBAC), so that you can
|
||||||
control who can access and make changes to your cluster and applications.
|
control who can access and make changes to your swarm and applications.
|
||||||
|
[Learn about role-based access control](admin/manage-users/index.md).
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
---
|
---
|
||||||
description: Learn how to access Docker Universal Control Plane from the CLI.
|
|
||||||
keywords: docker, ucp, cli, administration
|
|
||||||
title: CLI-based access
|
title: CLI-based access
|
||||||
|
description: Learn how to access Docker Universal Control Plane from the CLI.
|
||||||
|
keywords: ucp, cli, administration
|
||||||
---
|
---
|
||||||
|
|
||||||
Docker UCP secures your cluster with role-based access control, so that only
|
Docker UCP secures your swarm by using role-based access control,
|
||||||
authorized users can perform changes to the cluster.
|
so that only authorized users can perform changes to the cluster.
|
||||||
|
|
||||||
For this reason, when running docker commands on a UCP node, you need to
|
For this reason, when running docker commands on a UCP node, you need to
|
||||||
authenticate your request using client certificates. When trying to run docker
|
authenticate your request with client certificates. When trying to run docker
|
||||||
commands without a valid certificate, you get an authentication error:
|
commands without a valid certificate, you get an authentication error:
|
||||||
|
|
||||||
```none
|
```none
|
||||||
|
|
@ -20,20 +20,20 @@ x509: certificate signed by unknown authority
|
||||||
There are two different types of client certificates:
|
There are two different types of client certificates:
|
||||||
|
|
||||||
* Admin user certificate bundles: allow running docker commands on the
|
* Admin user certificate bundles: allow running docker commands on the
|
||||||
Docker Engine of any node,
|
Docker Engine of any node,
|
||||||
* User certificate bundles: only allow running docker commands through a UCP
|
* User certificate bundles: only allow running docker commands through a UCP
|
||||||
manager node.
|
manager node.
|
||||||
|
|
||||||
## Download client certificates
|
## Download client certificates
|
||||||
|
|
||||||
To download a client certificate bundle, log into the **UCP web UI**, and
|
To download a client certificate bundle, log in to the UCP web UI and
|
||||||
navigate to your user **profile page**.
|
navigate to your **My Profile** page.
|
||||||
|
|
||||||
|
In the left pane, click **Client Bundles** and click **New Client Bundle**
|
||||||
|
to download the certificate bundle.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
Click the **Create a Client Bundle** button, to download the certificate bundle.
|
|
||||||
|
|
||||||
|
|
||||||
## Use client certificates
|
## Use client certificates
|
||||||
|
|
||||||
Once you've downloaded a client certificate bundle to your local computer, you
|
Once you've downloaded a client certificate bundle to your local computer, you
|
||||||
|
|
@ -42,7 +42,7 @@ can use it to authenticate your requests.
|
||||||
Navigate to the directory where you downloaded the user bundle, and unzip it.
|
Navigate to the directory where you downloaded the user bundle, and unzip it.
|
||||||
Then source the `env.sh` script.
|
Then source the `env.sh` script.
|
||||||
|
|
||||||
```none
|
```bash
|
||||||
$ unzip ucp-bundle-dave.lauper.zip
|
$ unzip ucp-bundle-dave.lauper.zip
|
||||||
$ cd ucp-bundle-dave.lauper
|
$ cd ucp-bundle-dave.lauper
|
||||||
$ eval $(<env.sh)
|
$ eval $(<env.sh)
|
||||||
|
|
@ -53,27 +53,32 @@ local Docker CLI communicate with UCP. It also updates the `DOCKER_CERT_PATH`
|
||||||
environment variables to use the client certificates that are included in the
|
environment variables to use the client certificates that are included in the
|
||||||
client bundle you downloaded.
|
client bundle you downloaded.
|
||||||
|
|
||||||
|
> Note: The bundle includes scripts for setting up Windows nodes. To set up a
|
||||||
|
> Windows environment, run `env.cmd` in an elevated command prompt, or run
|
||||||
|
> `env.ps1` in an elevated PowerShell prompt.
|
||||||
|
|
||||||
From now on, when you use the Docker CLI client, it includes your client
|
From now on, when you use the Docker CLI client, it includes your client
|
||||||
certificates as part of the request to the Docker Engine.
|
certificates as part of the request to the Docker Engine. You can now use the
|
||||||
You can now use the Docker CLI to create services, networks, volumes and other
|
Docker CLI to create services, networks, volumes and other resources on a swarm
|
||||||
resources on a swarm managed by UCP.
|
that's managed by UCP.
|
||||||
|
|
||||||
## Download client certificates using the REST API
|
## Download client certificates by using the REST API
|
||||||
|
|
||||||
You can also download client bundles using the UCP REST API. In
|
You can also download client bundles by using the
|
||||||
this example we'll be using `curl` for making the web requests to the API, and
|
[UCP REST API](../../../reference/api/index.md). In this example,
|
||||||
`jq` to parse the responses.
|
we use `curl` to make the web requests to the API, and `jq` to parse the
|
||||||
|
responses.
|
||||||
|
|
||||||
To install these tools on a Ubuntu distribution, you can run:
|
To install these tools on a Ubuntu distribution, you can run:
|
||||||
|
|
||||||
```none
|
```bash
|
||||||
$ sudo apt-get update && apt-get install curl jq
|
$ sudo apt-get update && apt-get install curl jq
|
||||||
```
|
```
|
||||||
|
|
||||||
Then you get an authentication token from UCP, and use it to download the
|
Then you get an authentication token from UCP, and use it to download the
|
||||||
client certificates.
|
client certificates.
|
||||||
|
|
||||||
```none
|
```bash
|
||||||
# Create an environment variable with the user security token
|
# Create an environment variable with the user security token
|
||||||
$ AUTHTOKEN=$(curl -sk -d '{"username":"<username>","password":"<password>"}' https://<ucp-ip>/auth/login | jq -r .auth_token)
|
$ AUTHTOKEN=$(curl -sk -d '{"username":"<username>","password":"<password>"}' https://<ucp-ip>/auth/login | jq -r .auth_token)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
description: Learn how to access Docker Universal Control Plane from the web browser.
|
|
||||||
keywords: docker, ucp, web, administration
|
|
||||||
title: Web-based access
|
title: Web-based access
|
||||||
|
description: Learn how to access Docker Universal Control Plane from the web browser.
|
||||||
|
keywords: ucp, web, administration
|
||||||
---
|
---
|
||||||
|
|
||||||
Docker Universal Control Plane allows you to manage your cluster in a visual
|
Docker Universal Control Plane allows you to manage your cluster in a visual
|
||||||
|
|
@ -10,18 +10,22 @@ way, from your browser.
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
|
|
||||||
Docker UCP secures your cluster with role-based access control. From the
|
Docker UCP secures your swarm by using
|
||||||
browser, Administrators can:
|
[role-based access control](../../admin/manage-users/index.md).
|
||||||
|
From the browser, administrators can:
|
||||||
|
|
||||||
* Manage cluster configurations,
|
* Manage swarm configurations,
|
||||||
* Manage the permissions of users and teams,
|
* Manage the permissions of users, teams, and organizations,
|
||||||
* See all images, networks, volumes, and containers.
|
* See all images, networks, volumes, and containers.
|
||||||
|
* Grant permissions to users for scheduling tasks on specific nodes
|
||||||
|
(with the Docker EE Advanced license).
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
Non-admin users can only see and change the images, networks, volumes, and
|
Non-admin users can only see and change the images, networks, volumes, and
|
||||||
containers, they are granted access.
|
containers, and only when they're granted access by an administrator.
|
||||||
|
|
||||||
# Where to go next
|
# Where to go next
|
||||||
|
|
||||||
|
* [Authorization](../../admin/manage-users/index.md)
|
||||||
* [Access UCP from the CLI](cli-based-access.md)
|
* [Access UCP from the CLI](cli-based-access.md)
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,11 @@ use a specific secret in their services and which users can delete the secret.
|
||||||
|
|
||||||
## Grant access to a secret
|
## Grant access to a secret
|
||||||
|
|
||||||
As with most resources managed by UCP, the way to grant permission to a set
|
As with other resources managed by UCP, the way to grant permission to a set
|
||||||
of users to use a secret, is by applying the `com.docker.ucp.access.label` to
|
of users to use a secret is by creating a grant against the collection that
|
||||||
|
contains the secret.
|
||||||
|
|
||||||
|
is by applying the `com.docker.ucp.access.label` to
|
||||||
the secret.
|
the secret.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,22 @@
|
||||||
---
|
---
|
||||||
title: Manage secrets
|
title: Manage secrets
|
||||||
description: Learn how to manage your passwords, certificates, or other secrets in a secure way with Docker Datacenter
|
description: Learn how to manage your passwords, certificates, or other secrets in a secure way with Docker Datacenter
|
||||||
keywords: Docker, UCP, secrets, secrets management
|
keywords: UCP, secrets, secrets management
|
||||||
---
|
---
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=8CaiJ9uZEk8 "Working with Secrets"){:target="_blank"}
|
When deploying and orchestrating services, you often need to configure them
|
||||||
|
with sensitive information like passwords, TLS certificates, or private keys.
|
||||||
When deploying and orchestrating services, you often need to configure those
|
|
||||||
services with sensitive information like passwords, TLS certificates, or
|
|
||||||
private keys.
|
|
||||||
|
|
||||||
Universal Control Plane allows you to store this sensitive information, also
|
Universal Control Plane allows you to store this sensitive information, also
|
||||||
know as secrets, in a secure way. It also gives you role-based access control
|
known as *secrets*, in a secure way. It also gives you role-based access control
|
||||||
so that you can control which users can use a secret in their services
|
so that you can control which users can use a secret in their services
|
||||||
and which ones can manage the secret.
|
and which ones can manage the secret.
|
||||||
|
|
||||||
UCP extends the functionality provided by Docker Engine, so you can continue
|
UCP extends the functionality provided by Docker Engine, so you can continue
|
||||||
using the same workflows and tools you already use, like the Docker CLI client.
|
using the same workflows and tools you already use, like the Docker CLI client.
|
||||||
|
[Learn how to use secrets with Docker](/engine/swarm/secrets/).
|
||||||
|
|
||||||
<!-- todo: add link when 1.13 is available [Learn how to use secrets with Docker](/engine/swarm/secrets/) -->
|
In this example, we're going to deploy a WordPress application that's composed of
|
||||||
|
|
||||||
In this example we're going to deploy a WordPress application that's composed of
|
|
||||||
two services:
|
two services:
|
||||||
|
|
||||||
* wordpress: The service that runs Apache, PHP, and WordPress
|
* wordpress: The service that runs Apache, PHP, and WordPress
|
||||||
|
|
@ -28,17 +24,19 @@ two services:
|
||||||
|
|
||||||
Instead of configuring our services to use a plain text password stored in an
|
Instead of configuring our services to use a plain text password stored in an
|
||||||
environment variable, we're going to create a secret to store the password.
|
environment variable, we're going to create a secret to store the password.
|
||||||
When we deploy those services we'll attach the secret to them, which creates
|
When we deploy those services, we'll attach the secret to them, which creates
|
||||||
a file with the password inside the container running the service. Our services
|
a file with the password inside the container running the service.
|
||||||
will be able to use that file, but no one else will be able to see the
|
Our services will be able to use that file, but no one else will be able
|
||||||
plain text password.
|
to see the plain text password.
|
||||||
|
|
||||||
To make things simpler, we're not going to configure the database service to
|
To make things simpler, we're not going to configure the database service to
|
||||||
persist data. When the service stops, the data is lost.
|
persist data. When the service stops, the data is lost.
|
||||||
|
|
||||||
## Create a secret
|
## Create a secret
|
||||||
|
|
||||||
In the **UCP web UI**, navigate to **Resources**, and click **Secrets**.
|
In the UCP web UI, navigate to **Secrets** page and click **Create Secret**
|
||||||
|
to create a new secret. Once you create the secret you won't be able to edit
|
||||||
|
it or see the secret data again.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ You also need permissions to attach services to the `ucp-hrm` network.
|
||||||
|
|
||||||
## Deploy WordPress
|
## Deploy WordPress
|
||||||
|
|
||||||
Log in the UCP web UI, navigate to the **Services** page, and click
|
Log in to the UCP web UI, navigate to the **Services** page, and click
|
||||||
**Create Service**. Then create a WordPress service with the following
|
**Create Service**. Then create a WordPress service with the following
|
||||||
configuration:
|
configuration:
|
||||||
|
|
||||||
|
|
|
||||||