Docker中的当前表单将任何docker命令放入工作队列中,并按顺序(同步)执行一个。这意味着如果您要创建一个包含docker命令(如站起来容器或下载映像)的单线程API(node.js),它将很快得到备份并使docker工作队列超载。我已经走得那么远了。问题是如何重新建模docker以异步处理命令?
我更关心的是获取有关命令状态的更新,或者甚至无法在完成任务时提供回调函数。我的主要目标是能够快速调用docker站起来或大批量执行命令,而不会影响API的响应时间。
一些想法 -
不能有效地利用每个虚拟机。昂贵。不太优雅的解决方案。
仍然不是真正的异步。此外,各种docker守护程序无法共享图像等资源。因此,如果您有10个想要运行Ubuntu容器的docker守护进程,那么您将需要10个单独的ubuntu映像,这将占用原始ubuntu映像大小的10倍空间。
答案 0 :(得分:0)
您需要查看以下内容:
注册表:Docker注册表映像可以配置为缓存代理。您的docker守护程序将配置为使用此缓存代理注册表进行图像提取。只有第一个图像提取将从dockerhub下载并且图像将在本地缓存,因此请求相同图像的第二个docker守护程序将几乎立即获得它。您可以使用docker pull registry
获取图书馆(官方)图片。
Docker Swarm:您正在谈论初始化更多的docker守护进程和平衡任务,这已经使用它提供的Docker Swarm和集成的覆盖网络完成。
Kubernetes:Docker Swarm的替代品,具有更多功能和灵活性(也更复杂)