filmov
tv
Runnig postgres database in a docker container for a fast resotre option

Показать описание
RUNNING A POSTGRES DATABASE IN DOCKER
1. what we need
- running docker instance
- database backup
- free space on disk
2. how to get data in
- start docker container with postgress (version you need)
and add a volume that contains the backup
docker run
-v /Users/profesor79/code/docker/volume/backup:/temp/backup # provide bacup disk
-e POSTGRES_PASSWORD=mysecretpassword # set password
--name postgrescontainer # set a friendly name
-e PGDATA=/pgdata # set data folder
postgres:13 # image name
- connect to interactive session
docker exec -it postgrescontainer /bin/bash
- create a datbase with psql (and run some prep scripts if needed)
psql -U postgres -h localhost
- run pg_restore
pg_restore -U postgres -h localhost -d local_db -j 8 /path/to/backup
- run some post-scripts (if needed)
3. how to store container state
- when backup will finish we need to commit this container
docker commit postgrescontainer mypostgressdatabase
4. now we can play with it
docker run
-v /Users/profesor79/code/docker/volume/backup:/temp/backup # provide bacup disk
-e POSTGRES_PASSWORD=mysecretpassword # set password
-p 0.0.0.0:5432:5432 # expose on port 5432
-e PGDATA=/pgdata # set data folder
mypostgressdatabase # image name
1. what we need
- running docker instance
- database backup
- free space on disk
2. how to get data in
- start docker container with postgress (version you need)
and add a volume that contains the backup
docker run
-v /Users/profesor79/code/docker/volume/backup:/temp/backup # provide bacup disk
-e POSTGRES_PASSWORD=mysecretpassword # set password
--name postgrescontainer # set a friendly name
-e PGDATA=/pgdata # set data folder
postgres:13 # image name
- connect to interactive session
docker exec -it postgrescontainer /bin/bash
- create a datbase with psql (and run some prep scripts if needed)
psql -U postgres -h localhost
- run pg_restore
pg_restore -U postgres -h localhost -d local_db -j 8 /path/to/backup
- run some post-scripts (if needed)
3. how to store container state
- when backup will finish we need to commit this container
docker commit postgrescontainer mypostgressdatabase
4. now we can play with it
docker run
-v /Users/profesor79/code/docker/volume/backup:/temp/backup # provide bacup disk
-e POSTGRES_PASSWORD=mysecretpassword # set password
-p 0.0.0.0:5432:5432 # expose on port 5432
-e PGDATA=/pgdata # set data folder
mypostgressdatabase # image name
Комментарии