pg_dump --user=my-user --password my-db
pg_dump
will prompt for a password. If you don't want it to prompt for a password, you need to create a file called .pgpass
with the following format:
hostname:port:database:username:password
and then chmod
it to 600:
chmod 600 ~/.pgpass
After creating the .pgpass
file on the container home using docker exec
or a volume mount:
docker exec my_db_container pg_dump --user=postgres my-db >> my-db-backup.sql
Useful for first time database creations. Using the postgres
docker, run the following config:
docker run --name my-postgres \ -p 5432:5432 \ -v my/sql/files/location:/docker-entrypoint-initdb.d \ -e POSTGRES_DB=app \ -e POSTGRES_PASSWORD=postgres \ postgres
Be sure the POSTGRES_DB
, POSTGRES_PASSWORD
and POSTGRES_USER
match the .sql script