我有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
如何解决此问题?
答案 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
,因此它现在可以正常运行。