This will create 2 containers postgres-db and postgres-copy, db is the database and copy is a volitile container used to copy your mydump.sql file to a volumn, from there the db container will have access to it.
Download latest image and spin up
From powershell run.ps1
Create some tables / data
This step is not needed if you already have a dump file
Connect with any editor (PgAdmin, Dbeaver) to localhost:5432 with username postgres and password postgres then add some data to be used with the dump
| 1 | CREATE TABLE public.staff_master ( id serial NOT NULL, first_name text, surname text, email text, insert_date date, salary real, CONSTRAINT employee_pkey PRIMARY KEY (id)); | 
Create interactive session
From powershell docker exec -it postgres-db bash
| 1 | cd dump | 
This should then reflect the file you copied mydump.sql
You can also CAT mydump.sql but if its large your pc may fall on its head.
Dump something to test with from ‘postgres’
This step is not needed if you already have a dump file
From powershell pg_dump -U postgres -v -Fc postgres -f /dump/mydump.dump
| 1 | dir | 
You should now see mydump.dump and mydump.sql where the dump file is the one you just created
Create ‘mydb’
From powershell psql -U postgres -c "CREATE DATABASE mydb OWNER = postgres TABLESPACE pg_default;"
Restore dump
From powershell pg_restore -U postgres -d mydb < /dump/mydump.dump
Quit
CTRL+C Exit
Alternative Copy
If the file is massive you can try this method to copy
| 1 | docker cp mydump.sql bd2f2aae3b84:/dump/mydump.sql | 
.. where bd2f2aae3b84 is the name of your container which you can get by running docker ps --all
You can then check the files on the container with ls -l --block-size=M