win10 docker运行sqlserver容器报错:This program requires a machine with at least 2000 megabytes of memory.
前言由于docker安装sqlserver需要至少2G的内存,而docker容器默认内存不到2G,所以启动会遇到内存不足的错误。因为 windows docker 是在Hyper-V隔离沙箱中运行,并且win10场景中无法访问流模型,在该隔离模型中,docker容器实在轻量级Vm中运行,具有默认限制内存大小,为1G,因此如果要满足内存需求,(windows下)必须在创建容器的时候就指定内存大...
·
前言
由于docker安装sqlserver需要至少2G的内存,而docker容器默认内存不到2G,所以启动会遇到内存不足的错误。
因为 windows docker 是在Hyper-V隔离沙箱中运行,并且win10场景中无法访问流模型,在该隔离模型中,docker容器实在轻量级Vm中运行,具有默认限制内存大小,为1G,因此如果要满足内存需求,(windows下)必须在创建容器的时候就指定内存大小
报错信息:sqlservr: This program requires a machine with at least 2000 megabytes of memory.
解决方法:
(1)打开cmd,删除容器(至于为什么删除,因为windows docker 不支持docker update -m)
docker rm cbb014020d7d
语法说明
docker rm [容器名称/id]
(2)重新创建容器,使用-m [bytes]
指定容器内存大小
-m [bytes]
:内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=temp@pass" -p 1433:1433 -m 2000M --memory 2000M --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest
问题解决,成功启动容器
参考文档
(1)微软官方文档:Quickstart: Run SQL Server container images with Docker
(2)Docker(二十)-Docker容器CPU、memory资源限制
更多推荐
已为社区贡献7条内容
所有评论(0)