diff --git a/_data/toc.yaml b/_data/toc.yaml index ab70194f799..ed1c90fd694 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -1392,6 +1392,10 @@ manuals: title: "17.06" - path: /datacenter/install/linux/ title: Deploy Docker EE standard on Linux + - path: /enterprise/backup/ + title: Backup Docker EE + - path: /enterprise/upgrade/ + title: Upgrade Docker EE - sectiontitle: Universal Control Plane section: - path: /datacenter/ucp/2.2/guides/ diff --git a/enterprise/backup.md b/enterprise/backup.md new file mode 100644 index 00000000000..6c649d6ea8e --- /dev/null +++ b/enterprise/backup.md @@ -0,0 +1,35 @@ +--- +title: Backup Docker EE +description: Learn how to create a backup of your Docker Enterprise Edition, and + how to restore from a backup +keywords: enterprise, backup, restore +--- + +To backup Docker Enterprise Edition you need to create individual backups +for each of the following components: + +1. Docker Engine. [Learn more](/engine/swarm/admin_guide/#back-up-the-swarm). +2. Universal Control Plane (UCP). [Learn more](/datacenter/ucp/2.2/guides/admin/backups-and-disaster-recovery/#backup-command). +3. Docker Trusted Registry (DTR). [Learn more](/datacenter/dtr/2.3/guides/admin/backups-and-disaster-recovery/#backup-dtr-data). + +Before proceeding to backup the next component, you should test the backup you've +created to make sure it's not corrupt. One way to test your backups is to do +a fresh installation in a separate infrastructure and restore the new installation +using the backup you've created. + +## Restore Docker Enterprise Edition + +You should only restore from a backup as a last resort. If you're running Docker +Enterprise Edition in high-availability you can remove unhealthy nodes from the +swarm and join new ones to bring the swarm to an healthy state. + +To restore Docker Enterprise Edition, you need to restore the individual +components one by one: + +1. Docker Engine. [Learn more](/engine/swarm/admin_guide.md#recover-from-disaster). +2. Universal Control Plane (UCP). [Learn more](/datacenter/ucp/2.2/guides/admin/backups-and-disaster-recovery.md#restore-your-swarm). +3. Docker Trusted Registry (DTR). [Learn more](/datacenter/dtr/2.3/guides/admin/backups-and-disaster-recovery.md#restore-dtr-data). + +## Where to go next + +* [Upgrade Docker EE](upgrade.md) diff --git a/enterprise/images/upgrade-1.png b/enterprise/images/upgrade-1.png new file mode 100644 index 00000000000..cdf94d847b1 Binary files /dev/null and b/enterprise/images/upgrade-1.png differ diff --git a/enterprise/images/upgrade-2.png b/enterprise/images/upgrade-2.png new file mode 100644 index 00000000000..a4608472002 Binary files /dev/null and b/enterprise/images/upgrade-2.png differ diff --git a/enterprise/images/upgrade-3.png b/enterprise/images/upgrade-3.png new file mode 100644 index 00000000000..acc89d42715 Binary files /dev/null and b/enterprise/images/upgrade-3.png differ diff --git a/enterprise/upgrade.md b/enterprise/upgrade.md new file mode 100644 index 00000000000..cb3681fcafd --- /dev/null +++ b/enterprise/upgrade.md @@ -0,0 +1,110 @@ +--- +title: Upgrade Docker EE +description: Learn how to upgrade your Docker Enterprise Edition, to start using + the latest features and security patches. +keywords: enterprise, upgrade +--- + +To upgrade Docker Enterprise Edition you need to individually upgrade each of the +following components: + +1. Docker Engine. +2. Universal Control Plane (UCP). +3. Docker Trusted Registry (DTR). + +While upgrading, some of these components will become temporarily unavailable. +So you should schedule your upgrades to take place outside business peak hours +to make sure there's no impact to your business. + +## Create a backup + +Before upgrading Docker EE, you should make sure you [create a backup](backup.md). +This will make it possible to recover if anything goes wrong during the upgrade. + +## Check the compatibility matrix + +You should also check the [compatibility matrix](https://success.docker.com/Policies/Compatibility_Matrix), +to make sure all Docker EE components are certified to work with one another. +You may also want to check the +[Docker EE maintenance lifecycle](https://success.docker.com/Policies/Maintenance_Lifecycle), +to understand until when your version will be supported. + +## Upgrade Docker Engine + +To avoid application downtime, you should be running Docker in Swarm mode and +deploying your workloads as Docker services. That way you'll be able to +drain the nodes of any workloads before starting the upgrade. + +If you have workloads running as containers as opposed to swarm services, +make sure they are configured with a [restart policy](/engine/admin/start-containers-automatically/). +This will make sure your containers are started automatically after the upgrade. + +To ensure that workloads running as Swarm services have no downtime, you need to: + +1. Drain the node you want to upgrade so that services get scheduled in another node. +2. Upgrade the Docker Engine on that node. +3. Make the node available again. + +If you do this sequentially for every node, you'll be able to upgrade with no +application downtime. +When upgrading manager nodes, make sure the upgrade of a node finishes before +you start upgrading the next node. Upgrading multiple manager nodes at the same +time can lead to a loss of quorum, and possible data loss. + +### Drain the node + +Start by draining the node so that services get scheduled in another node and +continue running without downtime. +For that, run this command on a manager node: + +``` +docker node update --availability drain +``` + +### Perform the upgrade + +Upgrade the Docker Engine on the node by following the instructions for your +specific distribution: + +* [Windows Server](/engine/installation/windows/docker-ee.md#update-docker-ee) +* [Ubuntu](/engine/installation/linux/docker-ee/ubuntu.md#upgrade-docker-ee) +* [RHEL](/engine/installation/linux/docker-ee/rhel.md#upgrade-docker-ee) +* [CentOS](/engine/installation/linux/docker-ee/centos.md#upgrade-docker-ee) +* [Oracle Linux](/engine/installation/linux/docker-ee/oracle.md#upgrade-docker-ee) +* [SLES](/engine/installation/linux/docker-ee/suse.md#upgrade-docker-ee) + +### Make the node active + +Once you finish upgrading the node, make it available to run workloads. For +this, run: + +``` +docker node update --availability active +``` + +## Upgrade UCP + +Once you've upgraded the Docker Engine running on all the nodes, upgrade UCP. +You can do this from the UCP web UI. + +![](images/upgrade-1.png){: .with-border} + +Click on the banner, and choose the version you want to upgrade to. + +![](images/upgrade-2.png){: .with-border} + +Once you click **Upgrade UCP**, the upgrade starts. If you want you can upgrade +UCP from the CLI instead. [Learn more](/datacenter/ucp/2.2/guides/admin/install/upgrade.md). + +## Upgrade DTR + +Log in into the DTR web UI to check if there's a new version available. + +![](images/upgrade-3.png){: .with-border} + +Then follow these [instructions to upgrade DTR](/datacenter/dtr/2.3/guides/admin/upgrade.md). +When this is finished, your Docker EE has been upgraded. + +## Where to go next + +* [Backup Docker EE](backup.md)