Skip to main content
Version: v2.10

Backing up Rancher Installed with Docker

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.

Before You Start

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:

docker run --name busybox-backup-<DATE> --volumes-from rancher-data-<DATE> -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.

Cross reference the image and reference table below to learn how to obtain this placeholder data. 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.

    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.
    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:
    docker run --name busybox-backup-<DATE> --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> and busybox-backup-<DATE> containers from your Rancher Server.

    docker rm rancher-data-<DATE>
    docker rm busybox-backup-<DATE>
  7. Restart Rancher Server. Replace <RANCHER_CONTAINER_NAME> with the name of your Rancher container:

    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.