【问题标题】:Protect data in docker container保护 docker 容器中的数据
【发布时间】:2017-11-01 00:10:25
【问题描述】:

因为用户可以访问 docker 容器来复制/插入新文件,所以我想保护我的数据并且不允许他们这样做。那么有没有办法锁上这扇门,或者如果他们愿意,他们必须输入用户名/密码?

让我详细解释一下我的担忧。我使用 docker 容器将我的网站安装在我的 Raspberry Pi 中,并将此图像复制给我的客户。他们可以访问他们的 Raspberry pi,但问题是他们可以通过

在他们的 Raspberry 中复制网站

docker exec -it mywebsite /bin/bash 或者 sudo docker cp mywebsite:/usr/src/app/example.html .

那么有什么办法可以锁上这扇门吗?

谢谢。

【问题讨论】:

  • 您可以使用phusion/baseimage-docker。它具有 ssh 功能和setuser 选项。
  • 你能解释一下你在问什么,因为目前还不清楚; “用户”是主机上的用户吗?在容器里?您是否将图像分发给用户以在他们自己的系统上运行?等等。如果你能提供更多信息,那么你就更有可能得到你正在寻找的答案
  • 我编辑了我的问题以添加更多信息。任何想法 ?谢谢
  • 您想保护的数据来自哪里?如果是卷,您可以将其公开为只读。
  • 我想要的是不要让他们复制网站的源代码

标签: docker


【解决方案1】:

我不确定你在问什么,但我假设你想阻止主机上的用户访问某个 Docker 容器,对吧?

如果你的意思是用户字,用户在主机上,那么你已经受保护了!只要用户不是rootsudo 成员或Docker 成员,那么您绝对安全!

【讨论】:

  • 我对docker的了解还不够,但是假设如下场景:你在服务器上安装了一个docker镜像,你是他的sudo。然后另一个人将服务器的硬盘移动到他的 sudo 的另一台计算机上。另一台计算机上的那个人可以使用他的 sudo 来完全访问 docker 映像吗?
  • @SaidbakR,我可以想象是的,他将拥有对 Docker 容器的完全访问权限。
【解决方案2】:

您可以使用容器 id 和图像名称提交 docker 容器。 (保存容器的当前状态)之后,您可以使用图像名称运行该图像。这是来自 docker docs 的示例。

$ docker ps

容器 ID 图像命令创建状态端口名称

c3f279d17e0a ubuntu:12.04 /bin/bash 7 天前 25 小时绝望_杜宾斯基 197387f1b436 ubuntu:12.04 /bin/bash 7 天前 25 小时集中_汉密尔顿

$ docker commit c3f279d17e0a  svendowideit/testimage:version3

f5283438590d

$ docker images

存储库标签 ID 已创建大小

svendowideit/testimage version3 f5283438590d 16 秒前 335.7 MB

$ docker run -d svendowideit/testimage:version3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 2022-10-17
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2020-08-10
    相关资源
    最近更新 更多