【问题标题】:Docker swarm stop spin up containers at 250Docker swarm 在 250 处停止启动容器
【发布时间】:2017-08-17 23:41:07
【问题描述】:

TLDR:Docker 不会启动超过 250 个容器。

我正在将一个由 3 个 docker 服务组成的集群部署到一个具有 2 个节点的集群中。其中 2 个服务需要包含 1 个容器(在 docker-compose 文件中有一个 replicas: 1),第三个服务需要有 300 个容器(有一个 replicas: 300 设置)。

问题在于它启动了这 3 个服务,前两个服务每个都有 1 个容器(按应有的方式工作),第三个服务启动了 300 个容器中的 248 个(我在 docker service ls 时看到了这一点)。我尝试搜索是否有服务或群的限制,但找不到。

如果能得到任何帮助,我将不胜感激。

  • 如果有关系,每个节点都有 30GB RAM 和 8 个内核,而我只使用了 1/3 的 RAM。

【问题讨论】:

    标签: docker docker-compose dockerfile docker-swarm


    【解决方案1】:

    我只是想通了。问题不在于服务或群体,而在于网络。

    当我使用driver: overlay 时,默认的subnet10.0.0.0/24,这会导致254 地址。所以我把subnet中的掩码改成22,得到1022地址,我补充道:

    ipam:
      config:
        -subnet: 10.0.0.0/22
    

    现在docker-compose 文件中的网络部分如下所示:

    networks:
      web:
        driver: overlay
        ipam:
          config:
            - subnet: 10.0.0.0/22
    

    【讨论】:

      【解决方案2】:

      我认为您不能为一项服务启动超过 250 个服务,因为所有这些服务都位于同一个网络上,这基本上意味着使用 250 多个 IP 地址。除非您定义一个自定义 ipv6 网络并尝试这样做,否则您最好向您的 swarm 添加一个额外的网络,然后在该 swarm 但在另一个网络上旋转一个新的相同服务

      TL;博士;

      定义 2 个网络并将它们全部添加到服务中,然后查看是否可以启动超过 250 个副本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-29
        • 1970-01-01
        • 1970-01-01
        • 2020-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-30
        相关资源
        最近更新 更多