如何阻止控制台,root或其他用户访问Docker容器?

时间:2018-09-26 14:04:52

标签: docker

我尝试安装人偶并将root用户的shell更改为'/ sbin / nologin',但是我仍然可以直接进入控制台吗?

这是一个centOS 7容器。

Docker是否使用套接字进行连接?我可以使用selinux阻止套接字吗?如果我担心,我也会完全禁止Docker与容器进行通信?我一直在阅读Docker Security文章,但没有找到一个好的解决方案。

我的最终目标是使容器在出现时成为短暂的“黑匣子”。我的特定用户情况是本地Web应用程序,因此不需要控制台访问。

1 个答案:

答案 0 :(得分:1)

您可以尝试从容器中删除所有终端命令(bash,sh等):

docker exec [container-id] -it /bin/rm -R /bin/*

到那时,您将无法使用docker exec [container-id] -it bash将控制台添加到容器中。

如果您想对它更加温和,则只能删除拥有的外壳(并使所有其他命令可用(如rm命令):

docker exec [container-id] -it /bin/rm -R /bin/bash
docker exec [container-id] -it /bin/rm -R /bin/sh

...等等