我正在编写一个带有flask的小应用程序,它旨在与docker api交互,以便按需运行容器。我想在docker容器中部署此应用程序。但是,我知道安装docker socket是相对糟糕的,因为它在本地主机上具有root权限。
是否有正确的方法来访问容器内的docker api以避免这种警告?
答案 0 :(得分:1)
为什么将Docker插座安装到非特权容器上是一个坏主意?
为了将unix套接字安装到Docker容器,您需要更改Docker守护程序套接字的权限。显然,这可以为非root用户提供访问Docker守护程序的能力,如果您担心权限提升攻击,这可能是一个问题。 (source)
我真的需要保护Docker套接字吗?
这取决于您的用例。如果您的服务器上有许多用户,并且特别担心影响您的应用程序的非特权用户,那么肯定会保护套接字。如果这是一个完全专用于应用程序的虚拟机,则不安全可能会更容易。
如何不安全地与套接字进行交互?
只需更改权限(described here),然后将套接字挂载到容器即可。就这么简单。
如何安全地与套接字进行交互?
我认为有两种好方法可以做到这一点: