假设我在本地服务器上运行多个docker容器。 当我给第三方ssh访问我的服务器时,任何第三方都可以控制docker manager。 我怎样才能确保每个远程用户只能访问一些特定的容器?
EEAA是正确的,没有内置的方式来做到这一点。 现在做这件事的最好方法就是你对其他系统做同样的事情。 例如,你可以在你的Docker容器上运行一个SSH守护进程,使用像supervisord这样的东西来启动多个应用程序。 docker集装箱的目的是运行一个应用程序,像supervisord这样的工具通过为您启动多个进程并保持启动来解决此问题。
在这一点上,你只需要确保他们的公钥在他们应该有权访问的每个docker容器上。 但请记住,您需要启用SELinux,并且最好在docker中configurationUSER指令,以便作为受限用户启动容器。
Docker没有内置这个function。你需要编写一个自定义的包装脚本来执行你的访问控制。
此外,您可能要从安全angular度认真思考Docker的相当弱的隔离是否适合您的目的。 从一开始,Docker就没有把重点放在安全性上 ,而是把重点放在应用程序的可移植性和易部署上。 他们正在从事安全方面的工作,但还有很多工作要做,只要让第三方访问我的一台主机上运行的容器。