我正在尝试在docker中运行Windows后台进程。该过程占用大量内存,并且我仍在开发中。如何增加容器的内存?我一直在摆脱内存异常。
我正在使用Visual Studio 2017,无法在docker-compose文件中找到指定内存设置的方法。
version: '3.4'
services:
topshelfcws:
image: ${DOCKER_REGISTRY}topshelfcws
build:
context: .\TopShelfCWS
dockerfile: Dockerfile
deploy:
resources:
limits:
memory: 4GB
似乎没有效果
经过进一步调查,看来这是在运行docker-compose时从VS输出的
某些服务(topshelfcws)使用'deploy'键,该键将被忽略。 Compose不支持“部署”配置-使用docker stack deploy
部署到群集。
答案 0 :(得分:1)
尝试添加
deploy:
resources:
limits:
memory: 10000000MB
在撰写文件AFAIK中,基于HyperV的容器的默认值为1GB。
答案 1 :(得分:0)
好吧,由于3.x版本的docker-compose构成了内存限制机制,而不是2.x版本,这是因为将3.x调整为docker-swarm。 如果您不使用docker-swarm老式(2.x),则无法在3.x格式的文件中使用,除非您选中--compatibility标志,但要注意,这不是生产方式。
您可以在相关问题here
中找到所有需要的信息