【问题标题】:Docker maximum offline containersDocker 最大离线容器
【发布时间】:2015-12-18 17:10:03
【问题描述】:

我已经阅读了有关 limitations on Docker containersthe maximum number of container running 的信息,但我想执行以下操作:

  • 即时启动容器(毫秒)。

为此,我注意到我必须事先create 它;这每次可以为我节省大约 2 秒的时间。这让我想知道:

  • 对创建的容器数量有限制吗?他们是否使用任何资源?
    • 显然它使用磁盘空间来存储它
    • 是否也将其预加载到 RAM 中?
      • 相关:进程的“活动”状态是在停止时保存的,还是进程已停止并在start 上启动? (如果是后者,那为什么会有人费心重新创建容器?)
    • 是否有保留的 IP 地址?如果是这样,Docker 将使用的私有 IP 地址的数量是否有上限?
    • ... 还有什么可能会阻止我拥有 50,000 个容器?

【问题讨论】:

  • 2 秒?您是否在使用类似于 boot2docker 的环境类型和 Linux 虚拟机?
  • 使用远程 API 发出创建命令(图像大约 14MB),在本地运行(Linux 64 位;8 核 @ 3.4GHz,但只有一个 HDD - 没有 SSD)。
  • 我的意思是你是直接在 Linux 上,还是通过 Linux VM 使用 docker?
  • 好的,我确实经历过很长的 docker 运行时间(但我在运行脚本中做了很多,就像在 github.com/VonC/b2d/blob/… 中一样)
  • 感谢您让我知道(我很感激)。我很抱歉问这个问题,但是,这有什么帮助?

标签: docker


【解决方案1】:

如果仅创建容器,则没有正在运行的进程(也没有[预]缓存)。我还验证了如果容器尚未运行,docker inspectNetworkSettings 部分为空白,因此在这种情况下不应分配 IP 地址。存储在磁盘上以跟踪“容器对象”的元数据应该是唯一的影响(以及 Docker 守护程序在运行时使用的任何内存,同时跟踪所述元数据,这可能包括元数据本身的副本)。

我已经在我的本地机器上运行for i in {0..999}; do docker create --name hello-$i hello-world; done 来测试它,并且它成功完成了(尽管它似乎花了很长时间才能完成,因为它正在反复查找和写出完全相同的元数据)。

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2018-05-17
    • 2020-07-26
    • 1970-01-01
    相关资源
    最近更新 更多