我想实现一个网络服务来控制我的“ docker VPS”。
因此,我想到了一个简单执行docker images
或docker ps
命令以响应Web调用的nodejs + express脚本。
但是我认为我无法在Docker容器内部执行docker命令,对吗?
从另一个容器控制容器状态的最佳方法是什么?
请注意,我所有的容器都是“仅限现货”的,因此用户还应该从Web服务开始,遵循日志并最终将其杀死,所有这些都来自API调用,因此全部来自我的控制器容器内部。
你能建议我什么?
我不建议直接使用Docker守护进程套接字,因为它不安全。该守护程序套接字具有root访问权限。这意味着您可以根据需要做更多事情。
因此,总的来说,我建议在使用需要访问Docker套接字的Docker映像之前,请仔细考虑,即使具有只读权限,因为它可能会使您的环境面临更多风险。
但是,如果要保护对套接字的访问,可以使用Docker远程API(HTTP / HTTPS):
您可以在此处找到API文档,并可以使用cURL对其进行测试。
因为使用的是Node.js,所以可以使用以下npm软件包:dockerode(文件中的README
文档),这将简化任务:)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句