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" path: "datacenter"
values: values:
assignee: "joaofnfernandes" assignee: "joaofnfernandes"
ucp_latest_version: "2.0.1"
dtr_latest_version: "2.1.1"
- scope: - scope:
path: "docker-cloud" path: "docker-cloud"
values: values:
@ -90,20 +88,40 @@ defaults:
path: "toolbox" path: "toolbox"
values: values:
assignee: "londoncalling" 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: scope:
path: "datacenter/dtr/2.0" path: "datacenter/dtr/2.0"
values: values:
hide_from_sitemap: true hide_from_sitemap: true
this_version: "2.0" product_version: "2.0"
latest_version: "2.1" 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: scope:
path: "datacenter/ucp/1.1" path: "datacenter/ucp/1.1"
values: values:
hide_from_sitemap: true hide_from_sitemap: true
this_version: "1.1" product_version: "1.1"
latest_version: "2.0" latest_version: "2.0"
ucp_version: "1.1"
dtr_version: "2.0"
- -
scope: scope:
path: "apidocs/v1.3.3" 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"> <link id="mktoForms2ThemeStyle" rel="stylesheet" type="text/css" href="/css/forms2-theme-simple.css">
{% seo %} {% seo %}
{% if page.hide_from_sitemap %}<meta name="robots" content="noindex" />{% endif %} {% 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> </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=""> <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;"> <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 title: Install Docker Trusted Registry offline
--- ---
The procedure to install Docker Trusted Registry on a node is the same, The procedure to install Docker Trusted Registry on a host is the same,
whether that node has access to the internet or not. whether that host has access to the internet or not.
The only difference when installing DTR on an offline node, is that instead The only difference when installing on an offline host,
of pulling the DTR images from Docker Hub, you use a computer that is connected is that instead of pulling the UCP images from Docker Hub, you use a
to the internet to download a single package with all DTR images. Then you computer that is connected to the internet to download a single package with
copy that package to the nodes where youll install DTR. 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 {% include components/ddc_url_list.html %}
Docker Datacenter components:
```none ## Download the offline package
$ 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 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 3. Load the Docker Datacenter images.
want to install Docker Trusted Registry. You can use the `scp` command
for this.
```none Once the package is transferred to the hosts, you can use the
$ scp docker-datacenter.tag.gz $USER@$DTR_HOST:/tmp `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. Now that the offline hosts have all the images needed to install DTR,
you can [install DTR on that host](index.md).
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.
## Where to go next ## Where to go next
* [DTR architecture](../architecture.md) * [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 title: Install Docker Trusted Registry offline
--- ---
The procedure to install Docker Trusted Registry on a node is the same, The procedure to install Docker Trusted Registry on a host is the same,
whether that node has access to the internet or not. whether that host has access to the internet or not.
The only difference when installing DTR on an offline node, is that instead The only difference when installing on an offline host,
of pulling the DTR images from Docker Hub, you use a computer that is connected is that instead of pulling the UCP images from Docker Hub, you use a
to the internet to download a single package with all DTR images. Then you computer that is connected to the internet to download a single package with
copy that package to the nodes where youll install DTR. 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 {% include components/ddc_url_list.html %}
Docker Datacenter components:
## 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 ```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 3. Load the Docker Datacenter images.
nodes that you want to install DTR. For each node 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 ```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. Now that the offline hosts have all the images needed to install DTR,
you can [install DTR on that host](index.md).
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).
## Where to go next ## 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 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. 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 ## Download the offline package
Docker Datacenter components:
```none Use a computer with internet access to download a single package with all
$ wget https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.4.tar.gz -O docker-datacenter.tar.gz 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 3. Load the Docker Datacenter images.
host where you'll be installing Docker UCP. You can use the Secure Copy command
for this:
```none Once the package is transferred to the hosts, you can use the
$ scp docker-datacenter.tar.gz $USER@$UCP_HOST:/tmp `docker load` command, to load the Docker images from the tar archive:
```
3. Login into the host where you transferred the images. ```bash
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
$ docker load < docker-datacenter.tar.gz $ 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, Now that the offline hosts have all the images needed to install UCP,
you can [install Docker UCP that host](install-production.md). you can [install Docker UCP on 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.
## Where to go next ## Where to go next
* [Install UCP for production](install-production.md). * [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 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 controllers use self-signed certificates for this, when a client accesses
UCP their browsers won't trust this certificate, so the browser displays a UCP their browsers won't trust this certificate, so the browser displays a
warning message. warning message.

View File

@ -4,58 +4,84 @@ keywords: trusted, registry, integrate, UCP, DTR
title: Integrate with Docker Trusted Registry title: Integrate with Docker Trusted Registry
--- ---
Docker UCP integrates out of the box with Docker Trusted Registry (DTR). This Once you deploy Docker Trusted Registry (DTR), you can use it to store your Docker
allows you to use a UCP client bundle to push and pull images to DTR, without images and deploy services to UCP using those images.
having to login directly into DTR. [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 Docker UCP integrates out of the box with Docker Trusted Registry (DTR).
certificate authority you can skip this and use UCP client bundles to push and This means that you can deploy services from the UCP web UI, using Docker
pull images from DTR. 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 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 self-signed certificates, you need to configure all hosts that want to push
the certificate authority that signed the DTR certificates. Otherwise or pull Docker images from DTR. This includes:
UCP won't trust DTR, and when trying to pull or push images, you'll get an
error: * 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 ```none
docker login dtr.example.org
x509: certificate signed by unknown authority 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 In your browser navigate to `https://<dtr-url>/ca` to download the TLS
# Download the DTR CA certificate certificate used by DTR. Then
$ sudo curl -k https://<dtr-domain-name>/ca -o /usr/local/share/ca-certificates/<dtr-domain-name>.crt [add that certificate to the macOS trust store](https://support.apple.com/kb/PH18677?locale=en_US).
# Refresh the list of certificates to trust * For Windows:
$ sudo update-ca-certificates
# Restart the Docker daemon In your browser navigate to `https://<dtr-url>/ca` to download the TLS
$ sudo service docker restart 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 ```bash
# Download the DTR CA certificate # Download the DTR CA certificate
$ sudo curl -k https://<dtr-domain-name>/ca -o /etc/pki/ca-trust/source/anchors/<dtr-domain-name>.crt $ 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 # Refresh the list of certificates to trust
$ sudo update-ca-trust $ sudo update-ca-certificates
# Restart the Docker daemon # Restart the Docker daemon
$ sudo /bin/systemctl restart docker.service $ 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 ```bash
images from a UCP node to a private DTR repository. # 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. 1. Create a test repository on DTR.
@ -101,6 +127,18 @@ commands in the UCP cluster.
![](../images/dtr-integration-2.png) ![](../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 ## Troubleshooting
When one of the components is misconfigured, and doesn't trust the root CA 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 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. 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 ## Download the offline package
Docker Datacenter components:
```bash Use a computer with internet access to download a single package with all
$ wget https://packages.docker.com/caas/ucp-{{ page.ucp_latest_version }}_dtr-{{ page.dtr_latest_version }}.tar.gz -O docker-datacenter.tar.gz 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 Now that you have the package in your local machine, you can transfer it to
host that you want to manage with UCP. For each host: 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 ```bash
$ scp docker-datacenter.tar.gz <user>@<host>:/tmp $ 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 Once the package is transferred to the hosts, you can use the
`docker load` command, to load the images from the tar archive. On each `docker load` command, to load the Docker images from the tar archive:
host, run:
```bash ```bash
$ docker load < docker-datacenter.tar.gz $ 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, Now that the offline hosts have all the images needed to install UCP,
you can [install Docker UCP that host](index.md). you can [install Docker UCP on that host](index.md).
## Where to go next ## Where to go next