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 StartDuring 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.
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.
\<sup\>Terminal `docker ps` Command, Displaying Where to Find `\<RANCHER_CONTAINER_TAG\>` and `\<RANCHER_CONTAINER_NAME\>`\</sup\>
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 BackupThis 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\>
\<a id="backup">\</a>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\>
\<a id="tarball">\</a>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.