gpt4 book ai didi

docker - docker-compose 中卷的权限

转载 作者:行者123 更新时间:2023-12-02 18:07:23 25 4
gpt4 key购买 nike

我想创建带有卷和自定义组的 docker 容器。但是在容器内遇到许可错误。所有文件都有例如“自定义组”并且工作正常,但文档文件夹默认情况下有根组。我认为这是由于数量。如何文档文件夹设置“自定义组”。我的代码在下面

volumes:
- /base/documents:/app/documents:rw

最佳答案

容器内部的 uid/gid 通常与容器外部主机上的 uid/gid 相同(用户命名空间默认情况下是关闭的,不会解决这个问题,事实上它们会使情况变得更糟).请注意,这是 uid/gid,而不是用户名和组名,因为容器可以有自己的/etc/passwd 和/etc/group 文件。

您需要使用与您主机上的文件匹配的 uid/gid 来运行您的容器。这是通过撰写文件的 user 部分或 docker run 命令行上的 -u 选项完成的,例如:

docker run -u "$(id -u):$(id -g)" -v /base/documents:/app/documents:rw ...

或在撰写文件中:

user: "1000:1000"

如果您的应用程序必须以 root 身份运行,那么处理这个问题的选项就会少很多。我自己的偏好是从以 root 身份启动的入口点动态处理 uid/gid,修复容器内的 uid/gid 以匹配主机(查看卷所有者),然后从 root 下降到容器用户运行应用程序。有关如何完成的更多详细信息,您可以查看我的 base image repo,包括 nginx 示例和 fix-perms 脚本。

关于docker - docker-compose 中卷的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com