如何在容器中正确地与docker客户端交互



我正在用flask编写一个小型应用程序,该应用程序旨在与dockerapi交互,以便按需运行容器。我想在docker容器中部署此应用程序。然而,我知道装载docker套接字相对来说比较糟糕,因为它在本地主机上具有root权限。

是否有适当的方法来访问容器中的dockerapi以避免这种警告?

为什么将Docker套接字安装到一个没有特权的容器是个坏主意
为了将unix套接字装载到Docker容器,您需要更改Docker守护进程套接字的权限。显然,这可能会让非root用户能够访问Docker守护进程,如果您担心权限升级攻击,这可能是一个问题。(来源)

我真的需要保护Docker套接字吗
这取决于您的用例。如果你的服务器上有很多用户,并且特别担心非特权用户会影响你的应用程序,那么一定要保护套接字。如果这是一个完全专用于应用程序的虚拟机,那么不安全可能会更容易。

如何不安全地与套接字交互
只需更改权限(此处介绍),然后将套接字装载到容器中。就这么简单。

如何安全地与套接字交互
我认为有两种很好的方法:

  1. 在启用TLS身份验证的情况下重新启动Docker Daemon。与其访问unix套接字,不如使用带有签名SSL密钥的HTTPS访问它。关于设置的更多说明可以在这里找到。

  2. 在unix套接字上使用授权插件,如下所述。

相关内容

最新更新