Подтвердить что ты не робот

Могу ли я использовать mem_limit в сборке докеров? и как?

mem_limit поддерживается docker-compose? Как я могу проверить его?

У меня есть следующий docker-compose.yml

repository:
  image: myregistry/my_nginx_image
  mem_limit: 60m
  volumes:
    - /etc/localtime:/etc/localtime
  ports:
    - "80:80"

Как я могу доказать, что контейнер фактически не превышает 60 мб ОЗУ?

Я использую:

  • docker 1.3.1
  • docker-compose 1.1.0
4b9b3361

Ответ 1

Да. Ограничение памяти поддерживается компоновкой docker, и значение может быть установлено как в вашем примере с "m" для мегабайт.

Можно проверить, что такое ограничение памяти, установленное для запуска контейнера Docker, используя команду "docker stats".

Если имя вашего контейнера "repository_1", используйте следующую команду:

docker stats repository_1

Результат этого будет аналогичным этому:

CONTAINER       CPU %    MEM USAGE/LIMIT    MEM %     NET I/O
repository_1    1.93%    4.609 MiB/60 MiB   7.20%     1.832 KiB/648 B

Ответ 2

В соответствии с fig documentation, простой

mem_limit: 1000000000

должно быть достаточно. Я думаю, вы должны сбросить "m" и использовать байты вместо мегабайт.

Ответ 3

Вы можете найти, как настроить докер для ограничения ресурсов (CPU и MEMORY) и как проверить свои ограничения в этом сообщении, написанном в прошлом году: resource-management-in-docker.