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.
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:
docker run \
--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.
Obtaining Placeholder Data
Get the placeholder data by running:
docker ps
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 --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>
container from your Rancher Server.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.