我想实施一个网络服务来控制我的" docker VPS"。
所以我想到了一个nodejs + express脚本,只需执行响应网络呼叫的docker images
或docker ps
命令。
但我认为我无法在docker容器中执行docker命令,对吗?
从另一个容器控制容器状态的最佳方法是什么?
请注意,我的所有容器都是“仅限现货”,因此用户也应该从网络服务开始,按照日志进行操作并最终将其从API调用中删除,因此,所有这些都来自我的内部控制器容器。
你能建议我什么?
答案 0 :(得分:2)
你是否需要在https://graph.windows.net/<tenant_name>/me/changePassword?api-version=1.6
Request Body : {"currentPassword": "Password1!","newPassword": "Password2!"}
命令中添加挂载docker socket的事实,所以
docker run
现在您可以在已启动的容器
中启动任何docker命令答案 1 :(得分:1)
我不建议直接使用Docker守护程序套接字,因为它不安全。该守护进程套接字具有root访问权限。这意味着您可以根据需要做任何事情。
所以一般来说,我建议在使用需要访问Docker套接字的Docker镜像之前仔细考虑,即使是只读权限,因为它可能会使您的环境面临一些额外的风险。
- raesene的The Dangers of Docker.sock
但是如果要保护对套接字的访问权限,可以使用Docker远程API(HTTP / HTTPS):
可以找到API文档here,您可以使用cURL进行测试。
因为你使用Node.js,你可以使用这个npm包:dockerode(README
文件中的文档),这将简化任务:)。