docs/docker-trusted-registry/install/index.md

171 lines
5.3 KiB
Markdown

---
aliases:
- /docker-trusted-registry/install/dtr-ami-byol-launch/
- /docker-trusted-registry/install/dtr-ami-bds-launch/
- /docker-trusted-registry/install/dtr-vhd-azure/
- /docker-trusted-registry/install/install-dtr/
description: Learn how to install Docker Trusted Registry for production.
keywords:
- docker, dtr, registry, install
menu:
main:
identifier: dtr_install_production
parent: dtr-menu-install
weight: 20
title: Install Docker Trusted Registry
---
# Install Docker Trusted Registry
Docker Trusted Registry (DTR) is a containerized application that runs on a
Docker Universal Control Plane (UCP) cluster. It can be installed on-premises
or on a cloud infrastructure.
Use these instructions to install DTR.
## Step 1. Validate the system requirements
The first step in installing DTR, is ensuring your
infrastructure has all the [requirements DTR needs to run](system-requirements.md).
## Step 2. Install UCP
Since DTR requires a Docker Universal Control Plane (UCP) cluster
to run, you need to install UCP first.
[Learn how to install UCP](https://docs.docker.com/ucp/installation/install-production/). Make sure that the node you install DTR on is already joined to the UCP cluster.
## Step 3. Install DTR
To install DTR you use the `docker/dtr` image. This image has commands to
install, configure, and backup DTR.
To install DTR:
1. Download a UCP client bundle.
Having a UCP client bundle allows you to run Docker commands on a UCP
cluster.
[Download a UCP client bundle](https://docs.docker.com/ucp/access-ucp/cli-based-access/)
and set up your CLI client to use it.
2. Run the following command to install DTR.
```bash
# Get the certificates used by UCP
$ curl -k https://$UCP_HOST/ca > ucp-ca.pem
# Install DTR
$ docker run -it --rm \
docker/dtr install \
--ucp-url $UCP_URL \
--ucp-node $NODE_HOSTNAME \
--dtr-external-url $DTR_PUBLIC_IP \
--ucp-username $USER --ucp-password $PASSWORD \
--ucp-ca "$(cat ucp-ca.pem)"
```
Where:
* ucp-url, is the URL of the UCP controller,
* ucp-node, is the hostname of the UCP node where DTR will be installed,
* dtr-external-url, is the public IP or domain name where DTR can be reached,
* ucp-username, and ucp-password are the credentials of a UCP administrator,
* ucp-ca, is the certificate authority used by UCP.
3. Check that DTR is running.
In your browser, navigate to the the Docker **Universal Control Plane**
web UI, and navigate to the **Applications** screen. DTR should be listed
as an application.
![](../images/install-dtr-1.png)
You can also access the **DTR web UI**, to make sure it is working. In your
browser, navigate to the address were you installed DTR.
![](../images/install-dtr-2.png)
## Step 4. Configure DTR
After installing DTR, you should configure:
* The Domain Name used to access DTR,
* The certificates used for TLS communication,
* The storage backend to store the Docker images.
To perform these configurations, navigate to the **Settings** page of DTR.
![](../images/install-dtr-3.png)
## Step 5. Test pushing and pulling
Now that you have a working installation of DTR, you should test that you can
push and pull images to it.
[Learn how to push and pull images](../repos-and-images/index.md).
## Step 6. Join replicas to the cluster
This step is optional.
To set up DTR for [high availability](../high-availability/index.md),
you can add more replicas to your DTR cluster. Adding more replicas allows you
to load-balance requests across all replicas, and keep DTR working if a
replica fails. Each replica must be located on a node already joined to the UCP cluster.
To add replicas to a DTR cluster, use the `docker/dtr join` command. To add
replicas:
1. Load you UCP user bundle.
2. Run the join command.
When you join a replica to a DTR cluster, you need to specify the
ID of a replica that is already part of the cluster. You can find an
existing replica ID by going to the **Applications** page on UCP.
Then run:
```bash
# Get the certificates used by UCP
$ curl -k https://$UCP_HOST/ca > ucp-ca.pem
$ docker run -it --rm \
docker/dtr join \
--ucp-url $UCP_URL \
--ucp-node $UCP_NODE \
--existing-replica-id $REPLICA_TO_JOIN \
--ucp-username $USER --ucp-password $PASSWORD \
--ucp-ca "$(cat ucp-ca.pem)"
```
Where:
* ucp-url, is the URL of the UCP controller,
* ucp-node, is the node on the ucp cluster where the DTR replica will be installed,
* existing-replica-id, is the ID of the DTR replica you want to replicate,
* ucp-username, and ucp-password are the credentials of a UCP administrator,
* ucp-ca, is the certificate used by UCP.
3. Check that all replicas are running.
In your browser, navigate to the the Docker **Universal Control Plane**
web UI, and navigate to the **Applications** screen. All replicas should
be displayed.
![](../images/install-dtr-4.png)
4. Follow steps 1 to 3, to add more replicas to the DTR cluster.
When configuring your DTR cluster for high-availability, you should install
3, 5, or 7 replicas.
[Learn more about high availability](../high-availability/index.md)
## See also
* [Install DTR offline](install-dtr-offline.md)
* [Upgrade DTR](upgrade/upgrade-major.md)