Пределы ЦП и памяти не могут быть заданы при сборке докера, и его нельзя настроить в Docker File
.Это проблема планирования.Вы можете запустить докер с помощью команды docker run
с разными флагами для управления ресурсами.См. Официальный документ Docker , где указаны эти контрольные флаги для docker run
.
Поскольку ваш вопрос помечен kubernetes
, существует kubernetes
способ ограничить ваши ресурсы.Вы хотели бы добавить resources
в спецификации для этих deployment
или pod
yaml.Например:
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 планируется на узлах.Memory limit
определяет, когда докер будет убит за OOM, а cpu limit
определяет, как будет ограничено использование процессора контейнера (модуль не будет убит).
Значение cpu
отличается для каждого поставщика облачных услуг.Для получения дополнительной информации см. Управление вычислительными ресурсами для Kubernetes