在Microsoft Docs中提到,容器提供隔离和安全性。 考虑一个应用程序接受用户代码并在服务器上运行的场景。 因此,如果我们将应用程序托pipe在Windows服务器上的hyper-v容器上,那么我们可以放心,无论用户可以写什么,它都不会影响我们的应用程序的良好状态以及托pipe它的容器。
我上周花了一些时间阅读关于容器的Microsoft文档,但是还没有find对此查询的直接答案。 直到现在我明白,我们的主机操作系统不会受到影响。 此外,应用程序所做的所有修改都将被捕获到沙箱中,所以我们的主机操作系统几乎没有风险。
容器使用内核名称间隔隔离应用程序。 这意味着应用程序将共享相同的内核,并且在容器内运行内核级别的漏洞可能会溢出该容器并影响主机的其余部分。 Docker允许各种选项将部分主机公开到容器,所以这取决于你如何运行容器。 码头工人并没有限制利用率,所以你可以由一个不可信的应用程序来处理。
容器确实比在同一个主机上运行一个容器外的所有东西提供了更多的安全性,但是如果你为每个应用程序分离了一个完全独立的虚拟机,安全性就会降低。 您需要确定您需要的安全级别,以及锁定内核和容器环境所需的时间和经验。