【发布时间】:2022-02-20 02:46:28
【问题描述】:
情况:许多重型 docker conainers 会定期受到攻击一段时间,然后长时间不使用。
希望:按需启动容器(如 systemd 通过套接字激活启动事物)并在空闲一段时间后停止它们。最终用户没有可见停机时间。
选项:
- Kubernetes 具有可以扩展副本的资源控制器。我想可以将副本数保持在 0 并在需要时将其设置为 1,但是如何实现呢? user guide 说有一种叫做自动缩放控制代理的东西,但我没有看到任何关于此的进一步信息。是否有可插入、可编程的代理,可用于跟踪请求并根据用户定义的逻辑进行扩展?
- 我在 Docker Swarm 中没有看到任何解决方案,但如果我错了,请纠正我。
- 使用以所选语言编写的自定义 http 服务器,该服务器可以访问 docker 守护程序。在路由到正确的位置之前,它会检查容器是否存在并确保它正在运行。缺点 - 不是一般的解决方案,必须不是是容器或可以访问守护程序。
- 按照here 的描述使用 systemd。与上述相同的缺点,即不通用,并且必须自己处理网络任务(例如查找生成的容器的 IP 并将其输入服务器/代理的配置)。
任何想法表示赞赏!
【问题讨论】:
-
关于自定义 HTTP 服务器。 DockerUI 容器可以访问守护进程。您只需将 docker 套接字作为卷安装到容器中,就可以向它发出所有请求
-
谢谢,我知道在挂载套接字时可以使用守护进程。我只是希望这个地方会有内置的解决方案,所以我不必重新发明轮子。看来轮子还没有发明出来。
-
您好 xificurC 您是否为您的问题找到了一个好的解决方案(docker 容器的按需启动)?问候大卫
-
嗨@David,不,但我不再寻求,转移到其他项目。如果我是,我会研究无服务器解决方案。
标签: docker kubernetes docker-swarm