Я хочу, чтобы в моем docker-compose
была политика, согласно которой использование памяти контейнера Docker будет превышать количество определенных ограничений памяти, которые он перезапускает.
Это то, что я сделал до сих пор:
version: '3'
services:
modbus_collector:
build: .
image: modbus_collector:2.0.0
container_name: modbus_collector
restart: unless-stopped
deploy:
resources:
limits:
memory: 28M
Я ожидал, что он будет перезапущен, когда использование памяти контейнера превысит 28M
, но когда я отслеживаю контейнеры докера по docker stats
, я вижу, что это использование памяти контейнера растет и не происходит при перезапуске!
Я тоже пытался restart: always
, но результат был тот же.
[UPDATE]:
С версией 2 он отлично работает с mem_limit:
. Но это не помогает при использовании версии 3, помещая их в раздел deploy
, кажется, не стоит, если я не использую режим роя.
Даже в версии 2.1
у меня есть проблема при перезапуске контейнера: ограничение применено правильно, но когда использование памяти контейнера возрастает, это ограничение предотвращает это, но я ожидал, что вместо уменьшения памяти он перезапустит этот контейнер.
version: '2.1'
services:
modbus_collector:
build: .
image: modbus_collector:2.0.0
container_name: modbus_collector
restart: unless-stopped
mem_limit: 28m