aru*_*836 1 docker docker-compose
我想在我的dockerized应用程序中使用交换内存,因为有时容器的内存消耗超过限制并且它们会崩溃。
我在 docker-compose 中使用以下配置会产生错误
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.app1-cnn.deploy.resources.reservations value Additional properties are not allowed ('memory-swap' was unexpected)
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: "3.3"
services:
app-cnn:
build: ./app
image: "app-cnn"
restart: always
container_name: app-cnn
ports:
- "5000:5000"
deploy:
replicas: 1
resources:
limits:
memory: 3G
reservations:
memory-swap: 6G
Run Code Online (Sandbox Code Playgroud)
参考https://docs.docker.com/compose/compose-file/#memswap_limit
从我的测试结果来看,默认情况下 memswap 是内存大小的两倍。如果需要更多,请使用 memswap_limit 覆盖它。
不得不说这个结构有点奇怪,不知道为什么要这样设计。无论如何,下面的配置对我有用。
...
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 128M
memswap_limit: 6G
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7536 次 |
最近记录: |