Флаг docker в docker-compose

Как в docker-compose задаётся флаг --memory ?


Ответы (1 шт):

Автор решения: Exploding Kitten

Для docker-compose v2 - это mem_limit (должно работать из коробки):

version: "2.1"

services:
  nginx:
    image: nginx:alpine
    ports:
      - 8080:80
    mem_limit: 10m

Для docker-compose v3 - через deploy:

version: "3.7"
services:
  nginx:
    image: nginx:alpine
    ports:
      - 8080:80
    deploy:
      resources:
        limits:
          memory: 13m

Т.к. deploy относится к Docker Swarm вы можете увидеть такое сообщение предупреждение (выдает такое на Linux, тогда как на Docker for Mac работает все ок):

WARNING: Some services (nginx) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use docker stack deploy to deploy to a swarm.

Но можно сказать docker-compose чтобы он попытался конвертировать не поддерживаемые ключи без использования Swarm. При помощи такой команды ограничение будет работать: docker-compose --compatibility up.

→ Ссылка