116

我是 Docker 新手,并尝试通过本教程从 Docker 映像设置 MemSQL - http://docs.memsql.com/4.0/setup/docker/。我在 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.
4

8 回答 8

196

您可以通过命令行执行此操作。例如,要将机器从默认的 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以反映您的更改。

于 2016-05-02T12:39:44.510 回答
114

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

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

让我知道这是否有帮助。

于 2015-09-29T01:52:56.830 回答
92

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

2020 年 8 月更新:偏好 -> 资源(感谢 @swedge218)

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

https://www.dropbox.com/s/znltd1v4r00nfpu/Screenshot%202017-03-24%2012.12.58.png?dl=0

docker 高级选项卡(内存)

于 2016-09-27T08:40:37.003 回答
44

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

您的两个选择是使用--virtualbox-memoryset 创建机器,或者在 VirtualBox GUI 中调整 VM 的内存(我认为该 VM 的“设置 > 系统”)。确保机器已关闭电源,并且应该有一个可以工作的小滑块。

编辑:另一个答案表明您也可以从命令行执行就地操作,也可以使用VBoxManage.

于 2016-01-04T20:01:59.707 回答
14

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

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

于 2016-09-07T21:17:30.300 回答
14

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

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

要从命令行确认更改:

VBoxManage showvminfo default | grep Memory

或者

docker-machine ssh default free
于 2017-06-24T12:57:54.297 回答
4

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

于 2018-03-23T05:52:39.580 回答
0

苹果硅

我一直在寻找 Apple Silicon 的解决方案,据我了解docker-machine,它已被弃用(链接),所以我最终使用了 colima(链接)。

根据colima 文档,可以定义 cpu 的数量和可用的 ram,例如:

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

并修改现有 VM:

colima stop
colima start --cpu 4 --memory 8
于 2022-02-04T10:21:52.140 回答