I would like to have a way to enter into the Postgresql container and get a data dump from it.
相关问题
- Docker task in Azure devops won't accept "$(pw
- Unable to run mariadb when mount volume
- Django distinct is not working
- PostgreSQL: left outer join syntax
- Unspecified error (0x80004005) while running a Doc
Although the mountpoint solution above looked promising, the following is the only solution that worked for me after multiple iterations:
What was unique in my case: I have a password on the database that needs to be passed in; needed to pass in the tag (alpine); and finally the hosts version of the psql tools were different to the docker versions.
To run the container that has the Postgres user and password, you need to have preconfigured variables as container environment variable. For example:
docker run -it --rm --link <container_name>:<data_container_name> -e POSTGRES_PASSWORD=<password> postgres /usr/bin/pg_dump -h <data_container_name> -d <database_name> -U <postgres_username> > dump.sql
Another workaround method is to start postgre sql with a mountpoint to the location of the dump in docker.
like
docker run -v <location of the files>
. Then perform a docker inspect on the docker running containeryou can find "Volumes" tag inside and a corresponding location.Go to the location and you can find all the postgresql/mysql files.It worked for me.Let us know if that worked for you also.
Good luck
Use the following command from a UNIX terminal:
The following command will dump only inserts from all tables:
I have container named postgres with mounted volume
-v /backups:/backups
To backup gziped DB my_db I use:
Now I have