After completing your Docker installation of Rancher, we recommend creating backups of it on a regular basis. Having a recent backup will let you recover quickly from an unexpected disaster.

How to Read Placeholders

During the creation of your backup, you’ll enter a series of commands, replacing placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (<EXAMPLE>). Here’s an example of a command with a placeholder:

  1. docker run \
  2. --volumes-from rancher-data-<DATE> \
  3. -v $PWD:/backup busybox tar pzcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz /var/lib/rancher

In this command, <DATE> is a placeholder for the date that the data container and backup were created. 9-27-18 for example.

Obtaining Placeholder Data

Get the placeholder data by running:

  1. docker ps

Write down or copy this information before starting the procedure below.

Terminal docker ps Command, Displaying Where to Find <RANCHER_CONTAINER_TAG> and <RANCHER_CONTAINER_NAME> Placeholder Reference

PlaceholderExampleDescription
<RANCHER_CONTAINER_TAG>v2.0.5The rancher/rancher image you pulled for initial install.
<RANCHER_CONTAINER_NAME>festive_mestorfThe name of your Rancher container.
<RANCHER_VERSION>v2.0.5The version of Rancher that you’re creating a backup for.
<DATE>9-27-18The date that the data container or backup was created.

You can obtain <RANCHER_CONTAINER_TAG> and <RANCHER_CONTAINER_NAME> by logging into your Rancher Server by remote connection and entering the command to view the containers that are running: docker ps. You can also view containers that are stopped with docker ps -a. Use these commands for help anytime while creating backups.

Creating a Backup

This procedure creates a backup that you can restore if Rancher encounters a disaster scenario.

  1. Using a remote Terminal connection, log into the node running your Rancher Server.

  2. Stop the container currently running Rancher Server. Replace <RANCHER_CONTAINER_NAME> with the name of your Rancher container.

    1. docker stop <RANCHER_CONTAINER_NAME>
  3. Use the command below, replacing each placeholder, to create a data container from the Rancher container that you just stopped.

    1. docker create --volumes-from <RANCHER_CONTAINER_NAME> --name rancher-data-<DATE> rancher/rancher:<RANCHER_CONTAINER_TAG>
  4. From the data container that you just created (rancher-data-<DATE>), create a backup tarball (rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz). Use the following command, replacing each placeholder.

    1. docker run --volumes-from rancher-data-<DATE> -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz /var/lib/rancher

    Step Result: A stream of commands runs on the screen.

  5. Enter the ls command to confirm that the backup tarball was created. It will have a name similar to rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz.

  6. Move your backup tarball to a safe location external to your Rancher Server. Then delete the rancher-data-<DATE> container from your Rancher Server.

  7. Restart Rancher Server. Replace <RANCHER_CONTAINER_NAME> with the name of your Rancher container.

    1. docker start <RANCHER_CONTAINER_NAME>

Result: A backup tarball of your Rancher Server data is created. See Restoring Backups: Docker Installs if you need to restore backup data.