限制Docker容器的文件访问权限

时间:2014-08-13 09:29:59

标签: node.js file-permissions docker

假设我在Docker容器中有NodeJS应用程序。 NodeJS可以使用fs模块与主机的文件系统进行交互。我想要的是只允许它访问一个文件夹(例如, / home / user1 / thisfolder ),并拒绝在我的主机上读/写任何其他文件夹或文件。有没有办法在Docker中限制这种访问?

UPD GOT ANSWER: 使用AppArmor我可以让node进程只访问给定目录,当它尝试访问任何其他目录时,它会获得permission denied

2 个答案:

答案 0 :(得分:1)

您要使用的解决方案是使用-v选项在容器上安装卷。

docker run -v /path/to/directory/on/your/host:/path/to/directory/on/your/container image CMD

它可以让您访问音量。

更多信息:https://docs.docker.com/userguide/dockervolumes/

如果您想限制对容器其他部分的访问,您应该从容器外部使用Apparmor。

答案 1 :(得分:1)

除非您:

,否则Docker无权访问主机文件系统
  • 将一些路径映射到一个卷(如上面建议的@Regan)
  • 以特权模式运行

因此,默认情况下,docker正在执行您想要的操作。