附加了卷的Bluemix postgres容器,因“权限错误”而失败

时间:2015-11-29 13:40:55

标签: postgresql containers ibm-cloud

我有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组的一部分。 但它仍然给我同样的错误。

tikzsymbols

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

我找到了一种方法将postgress添加到root组(这是我眼中的安全漏洞)。

首先,让每个人都可以写入卷,然后在卷中添加一个文件夹,其中包含您要运行守护程序的用户(在您的情况下为postgres)。在此之后,您可以再次将卷访问权限重置为默认值。

我在设置时间的入口点脚本中使用此代码段:

chsh -s /bin/bash www-data
chmod 777 /var/www
su -c "mkdir -p /var/www/html" www-data
chmod 755 /var/www
usermod -s /bin/false www-data

答案 1 :(得分:0)

而不是chown卷目录到postgres用户,更改其权限以允许组写:

$ chmod g+w $PGDATA

由于您已将root组添加到用户postgres,因此它现在可以正常运行。