更改boot2docker内存分配

34

我一直在mac上玩docker,所以我需要安装boot2docker才能让它正常工作。

我的机器很强大,但我的应用程序需要大量资源,因此我想将可用内存从默认值1GB提高到8GB左右。


这是我尝试过的方法

使用--memory参数启动boot2dock

boot2docker --memory=8116 boot

修改配置文件

Verbose = true
VBM = "VBoxManage"
SSH = "ssh"
SSHGen = "ssh-keygen"
SSHKey = "/Users/mjsilva/.ssh/id_boot2docker"
VM = "boot2docker-vm"
Dir = "/Users/mjsilva/.boot2docker"
ISO = "/Users/mjsilva/.boot2docker/boot2docker.iso"
VMDK = ""
DiskSize = 20000
Memory = 8116
SSHPort = 2022
DockerPort = 2375
HostIP = "192.168.59.3"
DHCPIP = "192.168.59.99"
NetMask = [255, 255, 255, 0]
LowerIP = "192.168.59.103"
UpperIP = "192.168.59.254"
DHCPEnabled = true
Serial = false
SerialFile = "/Users/mjsilva/.boot2docker/boot2docker-vm.sock"

然后启动boot2docker

boot2docker boot

似乎这些方法都不起作用,最后我只有默认的内存。


我唯一能够改变的方式是进入VirtualBox GUI关机boot2docker,手动更改然后再次启动。

我漏掉了什么吗?

6个回答

42

由于我的版本的boot2docker无法使用boot2docker init -m命令,我只能使用VBoxManage命令:

VBoxManage modifyvm boot2docker-vm --memory 3500

我认为您可以使用这种方法来避免破坏虚拟机,只需停止(stop)然后再次启动(start)即可。


1
在最近版本的boot2docker中,虚拟机的名称是 boot2docker-vm - rcoup
5
一段时间后,我意识到boot2docker附带了完全功能的VirtualBox用户界面。 因此,你只需运行 boot2docker stop 命令,然后在终端中键入 VirtualBox ,VirtualBox图形界面将打开,你可以在其中调整虚拟机的参数。 - Aleksei Petrenko

30

不需要像Abel Muiño说的那样删除你的boot2docker vm

只需按照Alex Petrenko提出的方法做即可。

  1. boot2docker stop
  2. VBoxManage modifyvm boot2docker-vm --memory 3500
  3. boot2docker start

1
这条评论与Alex Petrenko在2014年10月的回答相同。目前我已经给他们都投了赞成票。但是人们可能想要将它们合并成一个。对于Windows上的boot2doccer,我使用了:/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe modifyvm boot2docker-vm --memory 6144 - arntg

23
您需要使用新的内存设置重新初始化boot2docker VM:
$ boot2docker delete
$ boot2docker init -m 5555
... lots of output ...
$ boot2docker info
{ ... "Memory":5555 ...}

现在,您可以运行boot2docker up,并且该镜像将始终使用配置的内存量。


2
当我尝试使用-m标志运行时,会出现“未知的速记标志:'m' in -m”错误。有人知道为什么吗?(boot2docker版本返回“客户端版本:v1.2.0 Git提交:a551732”) - cjhin
我遇到了与@cjhin相同的问题。 - Mark
你可以尝试运行 boot2docker versionboot2docker help 吗?该标志(至少)自1.1.2版本起适用于Mac OSX。 - Abel Muiño
4
以下是答案,它们表示您不必破坏您的虚拟机。我已经支持了它们,并且反对了这个(抱歉),这样读者就会去更好的答案。 - idontgetoutmuch
2
无需删除,查看下面的答案,修改即可。请投票支持正确的答案,以免浪费时间。 - arntg
显示剩余3条评论

3

您也可以在GUI中调整设置。

  1. 打开VirtualBox
  2. 选择 'boot2docker-vm'
  3. 点击设置
  4. 选择系统
  5. 调整您的RAM

无需删除您的boot2docker虚拟机。


不确定为什么我被踩了。这是一个合法的更改,是命令行调整的替代方案,可能适用于非开发/运维用户(内容编辑器、分析师等)。 - Oliver Shaw

3

在使用Mac时,您不一定需要使用boot2docker。通常我使用docker-machine。使用它,您还可以轻松地创建符合您要求的虚拟机,例如:

docker-machine create --virtualbox-disk-size "50000" --virtualbox-cpu-count "4" --virtualbox-memory "8116" -d virtualbox dev

创建一个名为dev的虚拟机,使用50GB磁盘,4个CPU和8GB内存。

您可以使用docker-machine ls列出已创建的虚拟机,并获取IP地址以连接docker-machine ip dev


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接