How to take Postgres backup from container machine
/usr/bin/docker exec -it burkina-cluster-2363_db_1 pg_dump -h localhost -U dhis dhis2 | gzip> ~/dhis2_burkina_$(date “+%b_%d_%Y_%H_%M_%S”).pgsql.gz
get into container using exec command
docker exec -it burkina-cluster-2363_db_1 /bin/sh
take postgres database backup to current directory
pg_dump -h localhost -U dhis dhis2 | gzip> dhis2_burkina_09_Mar_2023.pgsql.gz
exit
copy postgres backup from container root to host machine
sudo docker cp burkina-cluster-2363_db_1:/dhis2_burkina_09_Mar_2023.pgsql.gz ~
OR
docker cp burkina-cluster-2363_db_1:/dhis2_burkina_09_Mar_2023.pgsql C:\Users\AnwarHossain\Downloads
sudo gzip dhis2_burkina_09_Mar_2023.pgsql
============================================
How to import Postgres backup from container machine
get into container using exec command
docker exec -it burkina-cluster-2363_db_1 /bin/sh
login to postgres dhis2 database
psql -h localhost -p 5432 -U dhis -W dhis2
SELECT ‘drop table if exists “‘ || tablename || ‘” cascade;’
FROM pg_tables
where schemaname = ‘public’;
drop all existing tables using above query output
exit from postgres
\q
copy postgres backup from host machine to container root
docker cp C:\Users\AnwarHossain\Downloads\dhis2_burkina_09_Mar_2023.pgsql burkina-cluster-2363_db_1:/
docker cp ~/dhis2_burkina_09_Mar_2023.pgsql burkina-cluster-2363_db_1:/
get into container using exec command
docker exec -it burkina-cluster-2363_db_1 /bin/sh
importing postgres backup to postgres container from current directory
psql -U dhis dhis2 < dhis2_burkina_09_Mar_2023.pgsql
docker restart burkina-cluster-2363_core_1
=================================================
docker stop $(docker ps -aq) // stop all container
docker container rm $(docker container ls -aq) // remove all containers
docker rmi $(docker images -q) // remove all images
docker volume prune // remove all stopped container volumes
docker network prune // remove all stopped container networks
docker system prune -a
– all stopped containers
– all networks not used by at least one container
– all images without at least one container associated to them
– all build cache
# Stop services only
docker-compose stop
# Stop and remove containers, networks..
docker-compose down
# Down and remove volumes
docker-compose down –volumes
# Down and remove images
docker-compose down –rmi <all|local>