Skip to content

Commit

Permalink
Merge pull request docker#944 from joaofnfernandes/improve-diagrams
Browse files Browse the repository at this point in the history
Improve DDC diagrams
  • Loading branch information
joaofnfernandes authored Dec 20, 2016
2 parents 5345566 + a5bf278 commit 3db461c
Show file tree
Hide file tree
Showing 15 changed files with 1,907 additions and 52 deletions.
67 changes: 46 additions & 21 deletions datacenter/dtr/2.1/guides/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,29 @@ keywords: docker, registry, dtr, architecture
title: DTR architecture
---

Docker Trusted Registry (DTR) is a Dockerized application that runs on a Docker
Universal Control Plane cluster.
Docker Trusted Registry is a containerized application that runs on-premises
or on the cloud and allows you to store and manage your Docker images. It
needs to be deployed on a worker node managed by UCP.

![](images/architecture-1.png)
![](images/architecture-1.svg)

Since DTR exposes the standard Docker API you can continue using the
Docker CLI client to push and pull images to DTR.
Universal Control Plane integrates out of the box with DTR so that you can
deploy services and applications to your UCP cluster, using the Docker images
you store in DTR.

## Containers
## Under the hood

DTR needs to be deployed in a worker node managed by UCP.

![](images/architecture-2.svg)

For high-availability you can join multiple replicas to a DTR cluster.
[Learn more about high availability](high-availability/index.md).


## DTR internal components

When you install DTR on a node, the following containers are started:

Expand All @@ -27,18 +43,8 @@ When you install DTR on a node, the following containers are started:

All these components are for internal use of DTR. Don't use them in your applications.

## Networks

To allow containers to communicate, when installing DTR the following networks
are created:

| Name | Type | Description |
|:-------|:--------|:---------------------------------------------------------------------------------------|
| dtr-br | bridge | Allows DTR components on the same node to communicate with each other in a secure way |
| dtr-ol | overlay | Allows DTR components running on different nodes to communicate, to replicate DTR data |


## Volumes
## Volumes used by DTR

DTR uses these named volumes for persisting data:

Expand All @@ -58,10 +64,23 @@ don't exist in the node, and creates them using the default volume driver.
By default, the data for these volumes can be found at
`/var/lib/docker/volumes/<volume-name>/_data`.

## Image storage
## Networks used by DTR

To allow containers to communicate, when installing DTR the following networks
are created:

| Name | Type | Description |
|:-------|:--------|:---------------------------------------------------------------------------------------|
| dtr-br | bridge | Allows DTR components on the same node to communicate with each other in a secure way |
| dtr-ol | overlay | Allows DTR components running on different nodes to communicate, to replicate DTR data |


## Where DTR stores images

By default, Docker Trusted Registry stores images on the filesystem of the node
where it is running.
where it is running, but you can configure it to use an external storage system.

![](images/architecture-3.svg)

You can also configure DTR to use these storage backends:

Expand All @@ -74,11 +93,17 @@ You can also configure DTR to use these storage backends:
For highly available installations, you should use a cloud storage system
instead of an NFS mount, since they usually have better performance.

## High-availability support
## How you interact with DTR

Since DTR exposes the standard Docker API you can continue using the
Docker CLI client to push and pull images to DTR.

Universal Control Plane integrates out of the box with DTR so that you can
deploy services and applications to your UCP cluster, using the Docker images
you store in DTR.

![](images/architecture-4.svg)

For load balancing and high-availability, you can install multiple replicas of
DTR, and join them to create a cluster.
[Learn more about high availability](high-availability/index.md).

## Where to go next

Expand Down
Binary file removed datacenter/dtr/2.1/guides/images/architecture-1.png
Binary file not shown.
75 changes: 75 additions & 0 deletions datacenter/dtr/2.1/guides/images/architecture-1.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3db461c

Please sign in to comment.