Postgres Docker Image:无法将数据库映射到主机
问题描述:
我正在使用来自Docker Hub的股票官方Postgres图像。 docker pull postgres
。我想将Postgres容器中的data
目录映射到我的OS X主机。所以,我试了这个。Postgres Docker Image:无法将数据库映射到主机
docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=mypass -v `pwd`/data:/var/lib/postgresql/data postgres
这导致Postgres容器无法正确启动。
fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... initdb: could not create directory "/var/lib/postgresql/data/global": Permission denied
initdb: removing contents of data directory "/var/lib/postgresql/data"
我想要达到的目标是让存储在主机上我的数据库中的数据,这样我可以从以前的实例启动Postgres的容器,并把它读(或负载)的数据库。我在正确的轨道上,还是这是一种实现数据库持久性的愚蠢方式?
这可以像“数据”子目录上的权限问题一样简单吗? –
在容器中,'data'目录由'root'拥有。在主持人中,我是'data'的所有者。那是问题吗? – 425nesp
'ls -l。/ data'的结果是什么? –