我有一个关于 Windows 主机和基于 Linux 的容器之间的权限的一般性问题。
假设我有一个名为 BUILD 的 ubuntu 容器,并且它正在 Windows 主机上运行。
BUILD 应该在 /tmp/data 中创建一堆文件。
然而,/tmp/data 是从主机文件系统挂载的。容器 Dockerfile 具有以下内容:
...
VOLUME ["/tmp/data"]
...
容器是这样启动的:
docker run -v C:\tmp\data:/tmp/data -d --name BUILDER BUILDER_IMAGE
我希望在 C: mp\data 中创建的文件只能由特定的 Windows 用户和/或组访问。如何确保BUILD创建的文件具有我在windows中想要的用户权限?
USER username
将会更改 docker 容器的默认用户(更改为名为
username
的用户)。但是,您应该确保用户
username
实际上对已安装的卷具有写入权限。然后,您可以使用标志
-u username
运行 Docker 运行命令,以使在挂载目录中创建的新文件属于
username
。