mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-19 03:14:52 +03:00
📖 update postgres backups with docker
to database backups with docker
This commit is contained in:
parent
e5a8f2a1d6
commit
880b7cc30d
|
@ -1,4 +1,4 @@
|
||||||
PostgreSQL Backups with Docker
|
Database Backups with Docker
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
.. note:: For brevity it is assumed that you will be running the below commands against local environment, however, this is by no means mandatory so feel free to switch to ``production.yml`` when needed.
|
.. note:: For brevity it is assumed that you will be running the below commands against local environment, however, this is by no means mandatory so feel free to switch to ``production.yml`` when needed.
|
||||||
|
@ -14,25 +14,41 @@ Prerequisites
|
||||||
Creating a Backup
|
Creating a Backup
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
To create a backup, run::
|
Postgresql Backup
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To create a backup, run::
|
||||||
|
|
||||||
$ docker-compose -f local.yml exec postgres backup
|
$ docker-compose -f local.yml exec postgres backup
|
||||||
|
|
||||||
|
MySQL Backup
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To create a backup, run::
|
||||||
|
|
||||||
|
$ docker-compose -f local.yml exec mysql backup
|
||||||
|
|
||||||
Assuming your project's database is named ``my_project`` here is what you will see: ::
|
Assuming your project's database is named ``my_project`` here is what you will see: ::
|
||||||
|
|
||||||
Backing up the 'my_project' database...
|
Backing up the 'my_project' database...
|
||||||
SUCCESS: 'my_project' database backup 'backup_2018_03_13T09_05_07.sql.gz' has been created and placed in '/backups'.
|
SUCCESS: 'my_project' database backup 'backup_2018_03_13T09_05_07.sql.gz' has been created and placed in '/backups'.
|
||||||
|
|
||||||
Keep in mind that ``/backups`` is the ``postgres`` container directory.
|
Keep in mind that ``/backups`` is the directory in the database container
|
||||||
|
|
||||||
|
|
||||||
Viewing the Existing Backups
|
Viewing the Existing Backups
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
To list existing backups, ::
|
To list existing backups,
|
||||||
|
|
||||||
|
Postgres database backups: ::
|
||||||
|
|
||||||
$ docker-compose -f local.yml exec postgres backups
|
$ docker-compose -f local.yml exec postgres backups
|
||||||
|
|
||||||
|
MySQL database backups: ::
|
||||||
|
|
||||||
|
$ docker-compose -f local.yml exec mysql backups
|
||||||
|
|
||||||
These are the sample contents of ``/backups``: ::
|
These are the sample contents of ``/backups``: ::
|
||||||
|
|
||||||
These are the backups you have got:
|
These are the backups you have got:
|
||||||
|
@ -59,15 +75,25 @@ You can also get the container ID using ``docker-compose -f local.yml ps -q post
|
||||||
|
|
||||||
$ docker cp $(docker-compose -f local.yml ps -q postgres):/backups ./backups
|
$ docker cp $(docker-compose -f local.yml ps -q postgres):/backups ./backups
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The above example assumes `postgres` as the project database. If you're using `mysql`, just replace the container names
|
||||||
|
with `mysql`
|
||||||
|
|
||||||
.. _`command`: https://docs.docker.com/engine/reference/commandline/cp/
|
.. _`command`: https://docs.docker.com/engine/reference/commandline/cp/
|
||||||
|
|
||||||
Restoring from the Existing Backup
|
Restoring from the Existing Backup
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
To restore from one of the backups you have already got (take the ``backup_2018_03_13T09_05_07.sql.gz`` for example), ::
|
To restore from one of the backups you have already got (take the ``backup_2018_03_13T09_05_07.sql.gz`` for example),
|
||||||
|
|
||||||
|
Postgres ::
|
||||||
|
|
||||||
$ docker-compose -f local.yml exec postgres restore backup_2018_03_13T09_05_07.sql.gz
|
$ docker-compose -f local.yml exec postgres restore backup_2018_03_13T09_05_07.sql.gz
|
||||||
|
|
||||||
|
MySQL ::
|
||||||
|
|
||||||
|
$ docker-compose -f local.yml exec mysql restore backup_2018_03_13T09_05_07.sql.gz
|
||||||
|
|
||||||
You will see something like ::
|
You will see something like ::
|
||||||
|
|
||||||
Restoring the 'my_project' database from the '/backups/backup_2018_03_13T09_05_07.sql.gz' backup...
|
Restoring the 'my_project' database from the '/backups/backup_2018_03_13T09_05_07.sql.gz' backup...
|
|
@ -23,7 +23,7 @@ Contents
|
||||||
deployment-on-pythonanywhere
|
deployment-on-pythonanywhere
|
||||||
deployment-on-heroku
|
deployment-on-heroku
|
||||||
deployment-with-docker
|
deployment-with-docker
|
||||||
docker-postgres-backups
|
docker-database-backups
|
||||||
websocket
|
websocket
|
||||||
faq
|
faq
|
||||||
troubleshooting
|
troubleshooting
|
||||||
|
|
Loading…
Reference in New Issue
Block a user