масштабирование докеров с разными процессорами

Как я могу масштабировать услугу, но применять другую cpuset на каждом экземпляре с docker-compose?

Например: у меня 4 процессора, мне нужно 4 экземпляра, каждый из которых использует 1 уникальный процессор.

1 ответ

Какую версию docker-compose вы используете? Я спрашиваю, потому что выполнить то, что вы хотите, возможно только с docker-compose v2.x или docker-swarm, как вы можете видеть ниже.

вы можете проверить дополнительную информацию здесь, в докере.

предполагая, что вы используете docker-compose 2.4, вы можете определить подобную службу в своем `docker-compose.yaml

       version: '2.4'

services:
  redis:
    image: redis:1.0.0
    restart: always
    environment:
      - REDIS_PASSWORD=1234
    cpu_count: 1
    mem_limit: 200m

где cpu_count - это количество ядер процессора, которое вы хотите использовать в службе, и mem_limit это предел памяти, который может использовать ваша служба.

Чтобы определить количество реплик, вы должны запустить: docker-compose up --scale redis=2

где redis имя службы в docker-compose и 2это желаемое количество реплик. Таким образом, оба контейнера будут раскручиваться с 1 ядром ЦП и 200 м памяти.

Чтобы проверить потребление ресурсов контейнера, вы можете запустить docker stats

Источник:https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources

https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources

Другие вопросы по тегам