如何增加docker-机器内存Mac

How to increase docker-machine memory Mac

我是 Docker 的新手,正在尝试通过本教程从 Docker 图像 - http://docs.memsql.com/4.0/setup/docker/ 设置 MemSQL。我在 Mac 上,教程使用的 boot2docker 似乎已被弃用。

VM 需要 4GB 内存才能 运行。本教程指定了如何使用 boot2docker 执行此操作,但我找不到使用 docker-machine/docker 工具箱执行此操作的方法。

这是我正在使用的命令和我在不更改 boot2docker 配置的情况下尝试完成本教程时遇到的错误。

docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.

创建docker机器时,可以指定内存大小:

docker-machine create -d virtualbox --virtualbox-memory 4096 default

如果有帮助请告诉我。

Docker 这里是机器维护者。我不认为手动调整 config.json 会起作用。

您的两个选择是创建设置了 --virtualbox-memory 的机器,或者在 VirtualBox GUI 中调整 VM 的内存(我认为该 VM 为 "Settings > System")。确保机器已关闭,并且应该有一个小滑块可以工作。

编辑:另一个答案表明您也可以使用 VBoxManage.

从命令行执行 in-place 操作

您可以通过命令行执行此操作。例如,将机器从默认的 1cpu/2048MB RAM 运行:

docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start

然后您可以检查您的设置:

VBoxManage showvminfo default | grep Memory
VBoxManage showvminfo default | grep CPU

为了 docker-machine inspect 报告事物的正确状态,请编辑 ~/.docker/machine/machines/default/config.json 以反映您的更改。

我无法找到其他答案。唯一对我有用的是删除默认机器并用更多内存重新创建它。

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-memory=4096 --virtualbox-cpu-count=2 --virtualbox-disk-size=50000 default

此修复是在此处找到的:https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en

对于 Docker 版本 1.12.1(内部版本:12133)和更高版本的 macOS,有一个选项可以更改 CPU 和 UI 的 RAM 并重新启动 docker.您可以从工具栏中找到首选项。为清楚起见附上图片。

2020 年 8 月更新:首选项 -> 资源(感谢 @swedge218)

旧步骤(现在可能已失效):首选项 -> 高级 -> 调整资源 -> 应用并重新启动

其他答案展示了如何使用 VBoxManage 更改内存:

docker-machine stop default
VBoxManage modifyvm default --memory 4096
docker-machine start default

从命令行确认更改:

VBoxManage showvminfo default | grep Memory

docker-machine ssh default free

fox xhyve(macos下的另一个虚拟化)可以修改~/.docker/machine/default/config.json 属性 Driver/Memory(默认为 1024) 然后重新启动 docker 机器以应用更改

苹果硅

我正在寻找 Apple Silicon 的解决方案,据我所知,docker-machine 已被弃用 (link), so I ended up using colima (link)。

作为 per colima documentation 可以定义 CPU 数量和可用内存,如:

colima start --cpu 1 --memory 2 --disk 10

并修改现有 VM:

colima stop
colima start --cpu 4 --memory 8