主机上的卷 – 拒绝Postgres的权限(Mac OS)
我开始Postgresql与以下卷的图像
/Users/me/Desktop/volumes/postgresql/data:/var/lib/postgresql/data
根据docker文件,它应该工作,因为docker工应该有权访问Mac OS上的/Users
目录。 在创build和运行容器后,我可以看到空目录/Users/me/Desktop/volumes/postgresql/data
被创build,但Postgres不会启动并在日志中显示这些行:
could not create directory "/var/lib/postgresql/data/global": Permission denied
我做错了什么?
您的目录属于不同的用户,然后是用户,即执行容器的用户。
你可以改变你的目录吗?
chmod 777 /Users/me/Desktop/volumes/postgresql/data
如果您可以使用此设置启动您的容器,那么这个缺less的权限是根本原因。
然后你可以尝试开始你的容器
run -u uid ...
并在macos上指定你的用户的用户名。 你也必须在boot2docker中创build用户,即
boot2docker ssh sudo sh adduser <anyuserid> -u <your uid>
我有同样的问题。
我所做的是通过在Virtual Box中创build文件夹来解决这个问题。
设置你的docker-compose.yml postgresql文件夹:
/Users/me/Desktop/volumes/postgresql/data
至
/root/data
在Virtual Box的Docker上input并创build数据文件夹