限制其他Linux用户访问Docker容器

时间:2018-11-16 07:35:54

标签: linux docker docker-compose dockerfile

我有两个Linux用户,分别为:ubuntu和my_user 现在,我构建一个简单的Docker映像并运行Docker容器 在我的docker-compose.yml文件中,我将某些文件从本地计算机批量挂载到了由“ ubuntu”用户创建的文件中。

现在,如果我通过“ my_user”登录,并使用docker exec命令访问由“ ubuntu”用户创建的docker容器,那么我将能够访问该容器中存在的所有文件。

我的要求是限制对“ my_user”的访问,以访问由“ ubuntu”用户创建的Docker容器的内容。

4 个答案:

答案 0 :(得分:1)

目前尚无法实现。如果您的用户可以执行Docker命令,则实际上意味着该用户具有root特权,因此无法阻止该用户访问任何文件。

答案 1 :(得分:0)

您可以添加“ ro”,意思是仅在数据量大之后读取。像这样

HOST:CONTAINER:ro

或者您可以在docker-compose.yml中添加ReadOnly属性

这是一个示例如何在docker-compose中指定只读容器: enter image description here

答案 2 :(得分:0)

@surabhi,只有一个选项可以通过在docker-compose文件中添加字段来限制文件访问。

read_only: flag to set the volume as read-only

nocopy: flag to disable copying of data from a container when a volume is created

您可以找到更多信息here

答案 3 :(得分:0)

您可以在该容器中安装并运行sshd,将端口22映射到可用的主机端口,并通过ssh密钥管理用户的可访问性。 这将不允许用户通过docker命令管理事物,但将使该用户有权访问该容器。