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.
Terminaldocker ps
Command, Displaying Where to Find <RANCHER_CONTAINER_TAG>
and <RANCHER_CONTAINER_NAME>
Placeholder | Example | Description |
---|---|---|
<RANCHER_CONTAINER_TAG> | v2.0.5 | The rancher/rancher image you pulled for initial install. |
<RANCHER_CONTAINER_NAME> | festive_mestorf | The name of your Rancher container. |
<RANCHER_VERSION> | v2.0.5 | The version of Rancher that you're creating a backup for. |
<DATE> | 9-27-18 | The 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.
Using a remote Terminal connection, log into the node running your Rancher Server.
Stop the container currently running Rancher Server. Replace
<RANCHER_CONTAINER_NAME>
with the name of your Rancher container.docker stop <RANCHER_CONTAINER_NAME>
- 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>
- 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.
Enter the
ls
command to confirm that the backup tarball was created. It will have a name similar torancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz
.Move your backup tarball to a safe location external to your Rancher Server. Then delete the
rancher-data-<DATE>
andbusybox-backup-<DATE>
containers from your Rancher Server.docker rm rancher-data-<DATE>
docker rm busybox-backup-<DATE>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.