Ограничения ресурса, указанные в docker-compose.yml, не учитываются docker - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь установить ограничения на ресурсы в моем docker-compose.yml файле.

Вот оно:

version: "3.7"
services:
  postgres:
    build: "docker/postgres"
    container_name: "postgres"
    ports:
    - 5432:5432
    environment:
      POSTGRES_USER: prodev
      POSTGRES_PASSWORD: prodev
      POSTGRES_MULTIPLE_DATABASES: pro_dev, pro_test
    networks:
    - my_proto_app
  the_api:
    deploy:
      resources:
        limits:
          cpus: '0.001'
          memory: 50M
        reservations:
          cpus: '0.0001'
          memory: 20M
    image: the_api:latest
    ports:
    - 8080:8080
    depends_on:
    - postgres
    links:
    - postgres
    networks:
    - my_proto_app
networks:
  my_proto_app:
    internal: false

Тем не менее, когда я публикую статистику докера, чтобы понять ограничения своих ресурсов, я замечаю, что мои лимиты не учитываются:

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
c0b7d2fffc42        postgres            0.04%               20.89MiB / 1.952GiB   1.05%               148kB / 171kB       0B / 856kB          16
0a0f9e482f86        api_the_api_1       2.16%               739.5MiB / 1.952GiB   37.00%              409kB / 464kB       0B / 73.7kB         59

Может кто-нибудь помочь, пожалуйста?

edit : я запускаю приложение с помощью следующей команды: docker-compose up

1 Ответ

0 голосов
/ 13 сентября 2018

Клавиша deploy в файле docker-compose не работает на docker-compose up (с форматом файла compose версии 3 и выше).Клавиша deploy , которая будет работать только в режиме роя.Чтобы запустить его в режиме роя

  docker swarm init 

Пример docker-compose.yml для развертывания в развертываниях роя с ограничениями ресурсов ЦП и памяти

  version: "3.3"
  services:
  tomcat:
    image: tomcat
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 250M
        reservations:
          cpus: '0.5'
          memory: 120M

Команда для развертывания в стеке докера

  docker stack deploy --compose-file=docker-compose.yml stackname

Проверьте пределы ресурсов ЦП и памяти, используя статистика докера

Ссылочный URL: https://docs.docker.com/compose/compose-file/compose-versioning/#version-2x-to-3x

Если вы хотите установить ограничения ресурсов для не рояразвертывания, используйте формат файла Compose версии 2.

Пример docker-compose.yml для развертывания в не-рой развертываниях с ограничениями ресурсов ЦП и памяти

 version: "2.2"
 services:
 tomcat:
   image: tomcat
   cpus: "0.5"
   mem_limit: 512m

Запустите docker-compose.ymlфайл с командой

  docker-compose up

Проверьте пределы ресурсов ЦП и памяти, используя статистика докера

Ссылка: https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources

Надеюсь, это поможет !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...