我有postgres docker镜像,可以部署在Bluemix容器上 . 它工作正常 . 但是当我附加卷时,容器因权限错误而失败 .
我使用$ PGDATA作为/ var / lib / postgresql / data . 入口点脚本,我已经提到过,sudo chown -R postgres / var / lib / postgresql / data . 我还使用选项-v data1:/ var / lib / postgresql / data挂载卷
但是当我启动容器时,chown总是因“权限错误”而失败 .
我已将postgres用户添加为root组的一部分 . 但它仍然给我同样的错误 .
chown: changing ownership of ?/var/lib/postgresql/data?: Permission denied
我该如何解决这个问题?
2 回答
我找到了一种方法将postgress添加到root组(这是我眼中的安全漏洞) .
首先,让每个人都可以写入卷,然后在卷中添加一个文件夹,与要运行守护程序的用户一起使用(在您的情况下为postgres) . 在此之后,您可以再次将卷访问权限重置为默认值 .
我在设置时间的入口点脚本中使用此片段:
而不是
chown
卷目录到postgres
用户,更改其允许组写入的权限:由于您已将
root
group添加到用户postgres
,因此它现在可以正常工作 .