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