Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker安全问题_Docker - Fatal编程技术网

Docker安全问题

Docker安全问题,docker,Docker,在一个VM上,我有两个用户user1和user2 如果作为user1我运行:docker运行myimage 然后将我的只读文件映射到容器中的一个文件,我将运行一个新的容器 我的文件有400个权限,因此在主机上只有我可以看到该文件。此外,该文件在容器中具有400个权限 如果用户使用docker exec-it bash连接到容器,则可以看到映射的文件 这意味着user1仔细保护的文件将向user2公开 有什么方法可以避免这种情况吗?如果用户正在运行docker命令,那么他们对VM具有伪root访问

在一个VM上,我有两个用户user1和user2

如果作为user1我运行:
docker运行myimage
然后将我的只读文件映射到容器中的一个文件,我将运行一个新的容器

我的文件有400个权限,因此在主机上只有我可以看到该文件。此外,该文件在容器中具有400个权限

如果用户使用
docker exec-it bash
连接到容器,则可以看到映射的文件

这意味着user1仔细保护的文件将向user2公开


有什么方法可以避免这种情况吗?

如果用户正在运行docker命令,那么他们对VM具有伪
root
访问权限,因此无论您做什么,实际上都不会保护文件。解决方案是什么?我的受保护文件需要在我启动的容器中可用。我想阻止其他任何人连接到容器。不要让其他用户访问docker。相反,是否有一种方法可以使我启动的docker容器仅对我访问?或者,是否可以强制用户提供-u开关,以便他们只能以自己的用户身份访问容器?这将确保我的受保护文件不会暴露给他们。容器由root启动。该命令可能由您发送,但docker所做的一切都是作为root用户完成的。Docker在守护进程中没有细粒度的安全性。同样,您必须限制其他用户访问docker。完成后,您可以为特定docker命令或与只能允许特定调用的API对话的程序允许sudo脚本。