首页 文章

附加卷的Bluemix postgres容器,失败'permission error'

提问于
浏览
1

我有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 回答

  • 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
    
  • 0

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

    $ chmod g+w $PGDATA
    

    由于您已将 root group添加到用户 postgres ,因此它现在可以正常工作 .

相关问题