当docker容器达到一组内存使用或CPU限制时,如何杀死它

当docker容器达到一组内存使用或CPU限制时,如何杀死它,docker,kubernetes,Docker,Kubernetes,我有一个docker容器,它在一个pod中运行,当它超过内存使用或CPU限制时,我需要重新启动pod/容器。如何在docker文件中配置它构建docker时,无法给出CPU和内存限制,也无法在docker文件中配置它。这是一个调度问题。您可以使用带有不同标志的docker run命令运行docker,以控制资源。有关docker run的控制标志,请参阅 由于您的问题标有kubernetes,因此有kubernetes方法限制您的资源。对于那些deployment或podyaml,您需要在规范中

我有一个docker容器,它在一个pod中运行,当它超过内存使用或CPU限制时,我需要重新启动pod/容器。如何在docker文件中配置它

构建docker时,无法给出CPU和内存限制,也无法在
docker文件中配置它
。这是一个调度问题。您可以使用带有不同标志的
docker run
命令运行docker,以控制资源。有关
docker run
的控制标志,请参阅

由于您的问题标有
kubernetes
,因此有
kubernetes
方法限制您的资源。对于那些
deployment
pod
yaml,您需要在规范中添加
resources
。例如:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: your_deployment
  labels:
    app: your_app
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: your_app
    spec:
      containers:
      - name: your_container
        image: your_image
        resources:
          limits:
            cpu: "500m"
            memory: "128Mi"
          requests:
            cpu: "250m"
            memory: "64Mi"
        ...
请求
影响docker pod在节点上的调度方式<代码>内存限制确定何时停止docker的OOM操作,以及
cpu限制
确定如何限制容器cpu的使用(pod不会停止)


对于每个云服务提供商,
cpu
的含义是不同的。有关更多信息,请参阅

Downvote以获得误导性答案。“容器可能被允许或不被允许在较长时间内超过其CPU限制。但是,它不会因为CPU使用过多而被杀死。”的陈述。此外,问题是“如何在docker文件中配置它?”。因此,请仔细阅读问题。感谢@WindyFields的澄清和建议。将更新我的答案。