【发布时间】:2018-11-11 13:35:20
【问题描述】:
我想在带有已安装卷的 Docker 容器内运行 postgres。我按照here 描述的步骤进行操作。但是,容器永远不会启动。我认为这是因为/var/lib/postgresql/data 目录由用户postgres 和uid 999 拥有,组postgres 和gid 999 拥有。
我的理解是我需要在我的主机上创建一个具有相同uid 和gid 的用户和组(名称无关紧要),并将这些权限分配给我在主机上挂载的目录.
问题是uid 和gid 已经被我的主机占用了。我可以从 Dockerfile 重建 Docker 映像并修改 uid 和 gid 值,但我认为这不是一个好的长期解决方案,因为我希望能够使用来自 Docker Hub 的官方 postgres 映像。
我的问题是,如果一个容器定义了宿主机上已经存在的权限,你如何将宿主机的权限映射到容器,而无需使用环境中的配置重新构建容器本身?
如果我对事情有误解或离题,解决此问题的正确方法是什么?
【问题讨论】:
标签: postgresql docker permissions dockerfile