提问人:user2268909 提问时间:11/7/2023 更新时间:11/8/2023 访问量:37
在 Windows 主机上运行的 Linux Docker 容器上的文件权限
File permissions on Linux Docker container running on a Windows host
问:
我有一个关于 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:\tmp\data 中创建的文件仅供特定的 Windows 用户和/或组访问。如何确保 BUILD 创建的文件在 Windows 中具有我想要的用户权限?
答:
2赞
AcrKnight
11/8/2023
#1
生成 Docker 容器时,添加行
USER username
将更改 docker 容器的默认用户(更改为名为 的用户)。username
但是,您应确保用户实际上具有对已装载卷的写入权限。username
然后,您可以运行带有标志的 Docker run 命令,以使在挂载目录中创建的新文件属于 。-u username
username
docker run -v C:\tmp\data:/tmp/data -d --name -u username BUILDER BUILDER_IMAGE
评论
0赞
user2268909
11/9/2023
效果很好,谢谢!
评论