我用过
docker run --rm --name test -p 5432:5432 -v $(pwd):/var/lib/postgresql/data -d postgres
创建一个容器,并将数据保存到我的pwd
中。对我来说这似乎是正确的,但是如果我使用
docker exec -it test psql -U postgres -c "CREATE DATABASE dat"
我的pwd
仍然是空的。我是docker和postgres的新手,但这不能正确,是吗?
感谢您的支持!
答案 0 :(得分:0)
首先,我没有足够的代表要发表评论,因此我在滥用此答案以给您提示,但是我不确定这是否能真正解决问题。
您的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;"
希望有帮助。
修改:
对于-it
,您也不需要docker exec
选项。仅在需要交互模式时才需要它,例如如果将/bin/bash
作为命令执行。