Прежде всего, у меня недостаточно точек повторения, чтобы комментировать, поэтому я злоупотребляю этим ответом, чтобы дать вам подсказку, однако я не уверен, действительно ли это решит проблему.
ВашКоманда docker run
кажется правильной:
docker run --rm --name test -p 5432:5432 -v $(pwd):/var/lib/postgresql/data -d postgres
Что касается вашей второй команды, вы забыли точку с запятой? Попробуйте это:
docker exec -it test psql -U postgres -c "CREATE DATABASE dat;"
Надеюсь, это поможет.
Редактировать :
Вам также не нужны *Опция 1020 * для docker exec
. Он нужен вам только в том случае, если вы хотите использовать интерактивный режим, например, при выполнении /bin/bash
в качестве команды.