在 Windows 主机上运行的 Linux Docker 容器的文件权限

问题描述 投票:0回答:1

我有一个关于 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中想要的用户权限?

linux windows docker containers user-permissions
1个回答
0
投票
当您构建 Docker 容器时,添加行

USER username

 将会更改 docker 容器的默认用户(更改为名为 
username
 的用户)。

但是,您应该确保用户

username

实际上对已安装的卷具有写入权限。

然后,您可以使用标志

-u username

 运行 Docker 运行命令,以使在挂载目录中创建的新文件属于 
username

© www.soinside.com 2019 - 2024. All rights reserved.