我有一个docker容器,该容器在pod中运行,当它超出内存使用量或CPU限制时,需要重新启动pod /容器。如何在docker文件中配置它
答案 0 :(得分:2)
构建泊坞窗时无法给出CPU和内存限制,并且无法在Docker File
中进行配置。这是一个调度问题。您可以使用带有不同标志的docker run
命令运行docker来控制资源。有关docker run
的那些控制标志,请参见Docker Official Document。
由于您的问题被标记为kubernetes
,因此有kubernetes
种方式来限制您的资源。您可能希望在规格中为这些resources
或deployment
的Yaml添加pod
。例如:
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"
...
requests
影响节点上调度docker pod的方式。 Memory limit
确定何时为OOM杀死docker,而cpu limit
确定如何限制容器cpu的使用(不会终止pod)。
cpu
的含义对于每个云服务提供商而言都是不同的。有关更多信息,请参阅manage compute resources for Kubernetes