当docker容器高于某个内存限制时,是否重新启动该容器?

当docker容器高于某个内存限制时,是否重新启动该容器?,docker,docker-compose,docker-container,Docker,Docker Compose,Docker Container,我希望在我的docker compose中有一个策略,docker容器内存使用量将高于它重新启动的特定内存限制量 这就是我到目前为止所做的: version: '3' services: modbus_collector: build: . image: modbus_collector:2.0.0 container_name: modbus_collector restart: unless-stopped

我希望在我的
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
监视docker容器时,我发现容器内存使用量在增长,而不是重新启动

我还尝试了
restart:always
,但结果是一样的


[更新]:

对于版本2,它可以与
mem\u limit:
配合使用。但在使用版本3时失败了,除非我使用swarm模式,否则将它们放在
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

根据部署配置,Docker Swarm仅支持部署配置。你在使用Swarm模式吗?没有,我在使用docker compose版本
3
。有没有其他方式来处理这个问题?建议使用。我不确定版本2的合成文件元素是否在版本3的合成文件中工作。可能是@Markus的重复我尝试了这个答案,但没有工作。