【问题标题】:Maximum number of deployable docker containers可部署 docker 容器的最大数量
【发布时间】:2018-05-17 14:39:15
【问题描述】:

我正在尝试部署大量容器。

  1. 我不想使用swarmkubernetes 缩放它们,因为每个都有不同的配置、环境变量、入口端口等。
  2. 我已经知道每个docker网桥的最大容器数是1023
  3. 我的主机在使用 1023 个容器时没有内存或 CPU 使用问题。看起来它可以与 3000 多个容器一起使用。

一旦我们从这个开始,我尝试增加在同一主机中部署的 docker 的数量,创建多个 docker network bridgeNetworking with docker howto

docker network create --driver bridge mydocker-net0 
docker network create --driver bridge mydocker-net1
...

利用 docker 对容器使用 B 类 IP,可能的私有 IP 属于区间:172.16.0.0 - 172.31.255.255。所以,理论上,它可以分配 2^19 个可能的docker network bridges,但我不确定有这么多是可能的。

最后,我期待 [MAX_NUMBER_CONTAINERS] = [MAX_NUMBER_DOCKER_BRIDGES] * 1023

请任何人测试过 [MAX_NUMBER_DOCKER_BRIDGES] 或知道在同一主机上部署大量容器而不使用 kubernetes 或 swarm 或类似工具进行扩展的其他方法吗?

【问题讨论】:

    标签: docker docker-compose max containers


    【解决方案1】:

    我已经能够使用 10 个网桥运行 6055 个 docker 容器。详情见https://unix.stackexchange.com/a/688385/2972

    超过6055会使服务器不稳定:https://serverfault.com/questions/1091520/docker-blocks-when-running-multiple-containers

    【讨论】:

      【解决方案2】:

      您是否考虑过最简单的选择?只是简单的 bash 脚本。这将启动 10 个容器,您可以使用一些 bash 技巧将一些配置放入运行选项中...

      #!/bin/sh
      for (( i = 0; i < 10; i++ )); do
          docker run -d --name my_$i alpine sh
      done
      

      【讨论】:

      • 我能够在我的 Mac 上运行 1029 个容器对 google 执行 ping 操作......所以我认为在 Linux 原生环境下你会表现得更好
      • 是的,我尝试了几种部署数千个容器的方法,但是部署它们的方式并不重要,无论如何单个网桥不可能超过最大1023。
      • 您正在运行哪些命令,以便其他人可以复制该问题。为此运行我的容器时,我没有遇到任何网络问题.....当您启动容器编号 1024 时遇到什么错误?
      • 试试for (( i = 0; i &lt; 2000; i++ )); do docker run -d --name my_$i alpine sh done
      • 当我使用一些功能强大的机器时,我会尝试,但如果每个 docker 实例限制为 1024 个容器,你是否尝试过在主机上部署另一个 docker-machine,例如每个运行 500 个容器码头机器
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 2018-02-05
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多