Merge pull request #844 from joaofnfernandes/list-offline-tars

Automate display of urls for DDC offline install
This commit is contained in:
Joao Fernandes 2016-12-12 13:42:14 -08:00 committed by GitHub
commit 07fd6f5bc0
10 changed files with 279 additions and 146 deletions

View File

@ -40,8 +40,6 @@ defaults:
path: "datacenter"
values:
assignee: "joaofnfernandes"
ucp_latest_version: "2.0.1"
dtr_latest_version: "2.1.1"
- scope:
path: "docker-cloud"
values:
@ -90,20 +88,40 @@ defaults:
path: "toolbox"
values:
assignee: "londoncalling"
-
scope:
path: "datacenter/dtr/2.1"
values:
product_version: "2.1"
latest_version: "2.1"
ucp_version: "2.0"
dtr_version: "2.1"
-
scope:
path: "datacenter/dtr/2.0"
values:
hide_from_sitemap: true
this_version: "2.0"
product_version: "2.0"
latest_version: "2.1"
ucp_version: "1.1"
dtr_version: "2.0"
-
scope:
path: "datacenter/ucp/2.0"
values:
product_version: "2.0"
latest_version: "2.0"
ucp_version: "2.0"
dtr_version: "2.1"
-
scope:
path: "datacenter/ucp/1.1"
values:
hide_from_sitemap: true
this_version: "1.1"
product_version: "1.1"
latest_version: "2.0"
ucp_version: "1.1"
dtr_version: "2.0"
-
scope:
path: "apidocs/v1.3.3"

View File

@ -0,0 +1,46 @@
# This contains the list of urls that you can use to download a tar file
# with all the images needed to install Docker Datacenter in an air-gapped
# environment that can't access the internet
# Used by _includes/components/ddc_url_list.html
- ucp-version: "2.0"
tar-files:
- ucp-version: "2.0.1"
dtr-version: "2.1.1"
url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.1.tar.gz
- ucp-version: "2.0.1"
dtr-version: "2.1.0"
url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.0.tar.gz
- ucp-version: "2.0.0"
dtr-version: "2.1.0"
url: https://packages.docker.com/caas/ucp-2.0.0_dtr-2.1.0.tar.gz
- ucp-version: "1.1"
tar-files:
- ucp-version: "1.1.5"
dtr-version: "2.0.4"
url: https://packages.docker.com/caas/ucp-1.1.5_dtr-2.0.4.tar.gz
- ucp-version: "1.1.4"
dtr-version: "2.0.4"
url: https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.4.tar.gz
- ucp-version: "1.1.4"
dtr-version: "2.0.3"
url: https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.3.tar.gz
- ucp-version: "1.1.3"
dtr-version: "2.0.3"
url: https://packages.docker.com/caas/ucp-1.1.3_dtr-2.0.3.tar.gz
- ucp-version: "1.1.2"
dtr-version: "2.0.3"
url: https://packages.docker.com/caas/ucp-1.1.2_dtr-2.0.3.tar.gz
- ucp-version: "1.1.2"
dtr-version: "2.0.2"
url: https://packages.docker.com/caas/ucp-1.1.2_dtr-2.0.2.tar.gz
- ucp-version: "1.1.1"
dtr-version: "2.0.2"
url: https://packages.docker.com/caas/ucp-1.1.1_dtr-2.0.2.tar.gz
- ucp-version: "1.1.1"
dtr-version: "2.0.1"
url: https://packages.docker.com/caas/ucp-1.1.1_dtr-2.0.1.tar.gz
- ucp-version: "1.1.0"
dtr-version: "2.0.0"
url: https://packages.docker.com/caas/ucp-1.1.0_dtr-2.0.0.tar.gz

View File

@ -0,0 +1,18 @@
<!-- Start of ddc_url_list.html, displays a list of DDC tar files -->
{% for data in site.data.ddc_offline_files %}
{% if data.ucp-version == page.ucp_version %}
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="list-group center-block">
{% for tar-file in data.tar-files %}
<a href="{{ tar-file.url }}" target="_blank" class="list-group-item">
UCP {{ tar-file.ucp-version }}, DTR {{ tar-file.dtr-version }}
<span class="badge"><span class="glyphicon glyphicon-chevron-right"></span></span>
</a>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% endfor %}
<!-- End of dc_url_list.html -->

View File

@ -92,7 +92,7 @@ ng\:form {
<link id="mktoForms2ThemeStyle" rel="stylesheet" type="text/css" href="/css/forms2-theme-simple.css">
{% seo %}
{% if page.hide_from_sitemap %}<meta name="robots" content="noindex" />{% endif %}
{% if page.this_version and page.latest_version %}<link rel="canonical" href="https://docs.docker.com{{ page.url | replace_first: page.this_version, page.latest_version }}" />{% endif %}
{% if page.product_version and page.latest_version %}<link rel="canonical" href="https://docs.docker.com{{ page.url | replace_first: page.product_version, page.latest_version }}" />{% endif %}
</head>
<body class="html front not-logged-in no-sidebars page-node page-node- page-node-1 node-type-front-page path-docker ng-scope short retina-display all_loaded" ng-app="Docker" ng-controller="DockerController" style="">
<div class="off-canvas-wrap" data-offcanvas="" style="min-height: 548px;">

View File

@ -7,53 +7,56 @@ redirect_from:
title: Install Docker Trusted Registry offline
---
The procedure to install Docker Trusted Registry on a node is the same,
whether that node has access to the internet or not.
The procedure to install Docker Trusted Registry on a host is the same,
whether that host has access to the internet or not.
The only difference when installing DTR on an offline node, is that instead
of pulling the DTR images from Docker Hub, you use a computer that is connected
to the internet to download a single package with all DTR images. Then you
copy that package to the nodes where youll install DTR.
The only difference when installing on an offline host,
is that instead of pulling the UCP images from Docker Hub, you use a
computer that is connected to the internet to download a single package with
all the images. Then you copy that package to the host where youll install DTR.
1. Get the DTR package.
## Versions available
Use a computer with internet access to download a single package with all
Docker Datacenter components:
{% include components/ddc_url_list.html %}
```none
$ wget https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.4.tar.gz -O docker-datacenter.tar.gz
## Download the offline package
Use a computer with internet access to download a single package with all
Docker Datacenter components:
```bash
$ wget <package-url> -O docker-datacenter.tar.gz
```
Now that you have the package in your local machine, you can transfer it to
the machines where you want to install DTR.
For each machine where you want to install DTR:
1. Copy the Docker Datacenter package to that machine.
```bash
$ scp docker-datacenter.tar.gz <user>@<host>:/tmp
```
2. Transfer the package to the offline node.
2. Use ssh to login into the hosts where you transferred the package.
Now that you have the DTR package file, transfer it to the node where you
want to install Docker Trusted Registry. You can use the `scp` command
for this.
3. Load the Docker Datacenter images.
```none
$ scp docker-datacenter.tag.gz $USER@$DTR_HOST:/tmp
Once the package is transferred to the hosts, you can use the
`docker load` command, to load the Docker images from the tar archive:
```bash
$ docker load < docker-datacenter.tar.gz
```
3. Login into the host where you transferred the images.
## Install DTR
4. Load the UCP images.
Once the package is on the node where you want to install DTR, you can use
the `docker load` command, to load the images from the .tar file.
```none
$ docker load < /tmp/docker-datacenter.tar.gz
```
5. Install DTR.
Now that the offline node has all the images needed to install UCP,
you can [install DTR that host](index.md). Make sure to
also copy the images to any other nodes you want to install DTR
replicas onto.
Now that the offline hosts have all the images needed to install DTR,
you can [install DTR on that host](index.md).
## Where to go next
* [DTR architecture](../architecture.md)
* [Install DTR](index.md)
* [Install DTR](index.md)

View File

@ -5,48 +5,53 @@ keywords: docker, registry, install, offline
title: Install Docker Trusted Registry offline
---
The procedure to install Docker Trusted Registry on a node is the same,
whether that node has access to the internet or not.
The procedure to install Docker Trusted Registry on a host is the same,
whether that host has access to the internet or not.
The only difference when installing DTR on an offline node, is that instead
of pulling the DTR images from Docker Hub, you use a computer that is connected
to the internet to download a single package with all DTR images. Then you
copy that package to the nodes where youll install DTR.
The only difference when installing on an offline host,
is that instead of pulling the UCP images from Docker Hub, you use a
computer that is connected to the internet to download a single package with
all the images. Then you copy that package to the host where youll install DTR.
1. Get the DTR package.
## Versions available
Use a computer with internet access to download a single package with all
Docker Datacenter components:
{% include components/ddc_url_list.html %}
## Download the offline package
Use a computer with internet access to download a single package with all
Docker Datacenter components:
```bash
$ wget <package-url> -O docker-datacenter.tar.gz
```
Now that you have the package in your local machine, you can transfer it to
the machines where you want to install DTR.
For each machine where you want to install DTR:
1. Copy the Docker Datacenter package to that machine.
```bash
$ wget https://packages.docker.com/caas/ucp-{{ page.ucp_latest_version }}_dtr-{{ page.dtr_latest_version }}.tar.gz -O docker-datacenter.tar.gz
$ scp docker-datacenter.tar.gz <user>@<host>:/tmp
```
2. Transfer the package to the offline nodes.
2. Use ssh to login into the hosts where you transferred the package.
Now that you have the DTR package in your machine, you can transfer it to the
nodes that you want to install DTR. For each node run:
3. Load the Docker Datacenter images.
Once the package is transferred to the hosts, you can use the
`docker load` command, to load the Docker images from the tar archive:
```bash
$ scp docker-datacenter.tag.gz <user>@<host>:/tmp
$ docker load < docker-datacenter.tar.gz
```
3. Login into the nodes where you transferred the images.
## Install DTR
4. Load the images.
Once the package is on the nodes where you want to install DTR, you can use
the `docker load` command, to load the images from the .tar file. On each
node, run:
```bash
$ docker load < /tmp/docker-datacenter.tar.gz
```
5. Install DTR.
Now that the offline node has all the images needed to install DTR,
you can [install DTR that host](index.md).
Now that the offline hosts have all the images needed to install DTR,
you can [install DTR on that host](index.md).
## Where to go next

View File

@ -15,47 +15,48 @@ is that instead of pulling the UCP images from Docker Hub, you use a
computer that is connected to the internet to download a single package with
all the images. Then you copy that package to the host where youll install UCP.
## Versions available
1. Get the UCP package.
{% include components/ddc_url_list.html %}
Use a computer with internet access to download a single package with all
Docker Datacenter components:
## Download the offline package
```none
$ wget https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.4.tar.gz -O docker-datacenter.tar.gz
Use a computer with internet access to download a single package with all
Docker Datacenter components:
```bash
$ wget <package-url> -O docker-datacenter.tar.gz
```
Now that you have the package in your local machine, you can transfer it to
the machines where you want to install UCP.
For each machine that you want to manage with UCP:
1. Copy the Docker Datacenter package to that machine.
```bash
$ scp docker-datacenter.tar.gz <user>@<host>:/tmp
```
2. Transfer the package to the offline node.
2. Use ssh to login into the hosts where you transferred the package.
Now that you have the UCP package in your machine, you can transfer it to the
host where you'll be installing Docker UCP. You can use the Secure Copy command
for this:
3. Load the Docker Datacenter images.
```none
$ scp docker-datacenter.tar.gz $USER@$UCP_HOST:/tmp
```
Once the package is transferred to the hosts, you can use the
`docker load` command, to load the Docker images from the tar archive:
3. Login into the host where you transferred the images.
4. Load the UCP images.
Once the UCP package is transferred to the host, you can use the
`docker load` command, to load the images from the tar archive. On the host
were you are going to install UCP, run:
```none
```bash
$ docker load < docker-datacenter.tar.gz
```
5. Check the version of your images by using `docker images` to view the tag associated with your image, usually referenced as `image:tag` in the `docker run` command.
6. Install Docker UCP.
## Install UCP
Now that the offline host has all the images needed to install UCP,
you can [install Docker UCP that host](install-production.md).
Note: When installing, make sure to include the tag to ensure you use your local image when deploying from the offline package. As an example, you would install UCP version 1.1.4 by specifying the image:tag as `docker/ucp:1.1.4` when running the install command.
Now that the offline hosts have all the images needed to install UCP,
you can [install Docker UCP on that host](install-production.md).
## Where to go next
* [Install UCP for production](install-production.md).
* [UCP system requirements](system-requirements.md)
* [UCP system requirements](system-requirements.md)

View File

@ -6,7 +6,7 @@ title: Use externally-signed certificates
---
By default the UCP web UI is exposed using HTTPS, to ensure all
communications between clients and the cluster are encrypted. Since UCP
communications between clients and UCP are encrypted. Since UCP
controllers use self-signed certificates for this, when a client accesses
UCP their browsers won't trust this certificate, so the browser displays a
warning message.

View File

@ -4,58 +4,84 @@ keywords: trusted, registry, integrate, UCP, DTR
title: Integrate with Docker Trusted Registry
---
Docker UCP integrates out of the box with Docker Trusted Registry (DTR). This
allows you to use a UCP client bundle to push and pull images to DTR, without
having to login directly into DTR.
Once you deploy Docker Trusted Registry (DTR), you can use it to store your Docker
images and deploy services to UCP using those images.
[Learn how deploy DTR](/datacenter/dtr/2.1/guides/install/index.md).
If you've configured DTR to use certificates issued by a globally-trusted
certificate authority you can skip this and use UCP client bundles to push and
pull images from DTR.
Docker UCP integrates out of the box with Docker Trusted Registry (DTR).
This means that you can deploy services from the UCP web UI, using Docker
images that are stored in DTR. You can also use a
[UCP client bundle](../access-ucp/cli-based-access.md) to do the same from the
CLI.
If you've configured DTR to use TLS certificates issued by a globally-trusted
certificate authority you can skip this since all clients will automatically
trust the TLS certificates used by DTR.
If you're using the DTR default configurations or configured DTR to use
self-signed certificates, you need to configure all UCP nodes to trust
the certificate authority that signed the DTR certificates. Otherwise
UCP won't trust DTR, and when trying to pull or push images, you'll get an
error:
self-signed certificates, you need to configure all hosts that want to push
or pull Docker images from DTR. This includes:
* All UCP nodes
* Your local computer or any other that wants to push or pull Docker images from DTR
If your host is not configured to trust the DTR TLS certificates, you'll get an
error like:
```none
docker login dtr.example.org
x509: certificate signed by unknown authority
```
## Configure UCP Docker Engines
## 1. Configure your local computer
The configuration depends on your operating system.
If you want to use your local computer to interact with DTR, you also need to
configure configure it to trust the DTR TLS certificates. This depends on the
operating system:
### Ubuntu/ Debian
* For macOS:
```bash
# Download the DTR CA certificate
$ sudo curl -k https://<dtr-domain-name>/ca -o /usr/local/share/ca-certificates/<dtr-domain-name>.crt
In your browser navigate to `https://<dtr-url>/ca` to download the TLS
certificate used by DTR. Then
[add that certificate to the macOS trust store](https://support.apple.com/kb/PH18677?locale=en_US).
# Refresh the list of certificates to trust
$ sudo update-ca-certificates
* For Windows:
# Restart the Docker daemon
$ sudo service docker restart
```
In your browser navigate to `https://<dtr-url>/ca` to download the TLS
certificate used by DTR. Then
[add that certificate to the Windows trust store](https://technet.microsoft.com/en-us/library/cc754841(v=ws.11).aspx).
### RHEL/ CentOS
* For Ubuntu:
```bash
# Download the DTR CA certificate
$ sudo curl -k https://<dtr-domain-name>/ca -o /etc/pki/ca-trust/source/anchors/<dtr-domain-name>.crt
```bash
# Download the DTR CA certificate
$ sudo curl -k https://<dtr-domain-name>/ca -o /usr/local/share/ca-certificates/<dtr-domain-name>.crt
# Refresh the list of certificates to trust
$ sudo update-ca-trust
# Refresh the list of certificates to trust
$ sudo update-ca-certificates
# Restart the Docker daemon
$ sudo /bin/systemctl restart docker.service
```
# Restart the Docker daemon
$ sudo service docker restart
```
## Test the integration
* For CentOS or RHEL:
The best way to confirm that everything is well configured, is to pull and push
images from a UCP node to a private DTR repository.
```bash
# Download the DTR CA certificate
$ sudo curl -k https://<dtr-domain-name>/ca -o /etc/pki/ca-trust/source/anchors/<dtr-domain-name>.crt
# Refresh the list of certificates to trust
$ sudo update-ca-trust
# Restart the Docker daemon
$ sudo /bin/systemctl restart docker.service
```
## 2. Test your setup
The best way to confirm that your computer is correctly configured, is by
trying to pull and push images from your local Docker installation to DTR.
1. Create a test repository on DTR.
@ -101,6 +127,18 @@ commands in the UCP cluster.
![](../images/dtr-integration-2.png)
## 1. Configure UCP Docker Engines
For each UCP node:
1. Log into the node as an administrator, using ssh
2. Configure the system to trust the DTR TLS certificates. This depends on
the operating system.
## Troubleshooting
When one of the components is misconfigured, and doesn't trust the root CA

View File

@ -13,41 +13,45 @@ is that instead of pulling the UCP images from Docker Hub, you use a
computer that is connected to the internet to download a single package with
all the images. Then you copy that package to the host where youll install UCP.
## Versions available
1. Get the UCP package.
{% include components/ddc_url_list.html %}
Use a computer with internet access to download a single package with all
Docker Datacenter components:
## Download the offline package
```bash
$ wget https://packages.docker.com/caas/ucp-{{ page.ucp_latest_version }}_dtr-{{ page.dtr_latest_version }}.tar.gz -O docker-datacenter.tar.gz
```
Use a computer with internet access to download a single package with all
Docker Datacenter components:
2. Transfer the package to the offline nodes.
```bash
$ wget <package-url> -O docker-datacenter.tar.gz
```
Now that you have the UCP package in your machine, you can transfer it to the
host that you want to manage with UCP. For each host:
Now that you have the package in your local machine, you can transfer it to
the machines where you want to install UCP.
For each machine that you want to manage with UCP:
1. Copy the Docker Datacenter package to that machine.
```bash
$ scp docker-datacenter.tar.gz <user>@<host>:/tmp
```
3. Login into the hosts where you transferred the images.
2. Use ssh to login into the hosts where you transferred the package.
4. Load the UCP images.
3. Load the Docker Datacenter images.
Once the UCP package is transferred to the hosts, you can use the
`docker load` command, to load the images from the tar archive. On each
host, run:
Once the package is transferred to the hosts, you can use the
`docker load` command, to load the Docker images from the tar archive:
```bash
$ docker load < docker-datacenter.tar.gz
```
5. Install Docker UCP.
## Install UCP
Now that the offline hosts have all the images needed to install UCP,
you can [install Docker UCP that host](index.md).
Now that the offline hosts have all the images needed to install UCP,
you can [install Docker UCP on that host](index.md).
## Where to go next