Cambiar la asignación de memoria de boot2docker


He estado jugando con docker en un mac, así que necesito instalar boot2docker para que funcione.

Tengo una máquina bastante poderosa y una aplicación muy hambrienta de recursos, así que quiero subir la memoria disponible desde el valor predeterminado que es 1GB a algo así como 8GB.


Esto es lo que he intentado

Arrancar boot2dock con el par memory param

boot2docker --memory=8116 boot

Cambiar el archivo de configuración

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"

Y luego arrancar boot2docker

boot2docker boot

Ninguno de estos enfoques parecen funcionar. Solo termino teniendo la memoria por defecto.


La única manera que me las arreglé para cambiar fue ir a virtualbox GUI shutdown boot2docker, cambiarlo manualmente y arrancarlo de nuevo.

¿Me estoy perdiendo algo?

Author: mjsilva, 2014-06-26

6 answers

Tendrá que volver a inicializar la VM boot2docker con la nueva configuración de memoria:

$ boot2docker delete
$ boot2docker init -m 5555
... lots of output ...
$ boot2docker info
{ ... "Memory":5555 ...}

Ahora puede boot2docker up y la imagen siempre usará la cantidad de memoria configurada.

 23
Author: Abel Muiño,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-26 14:41:10

Como boot2docker init -m no funcionaba en mi versión de boot2docker, acabo de usar el comando VBoxManage:

VBoxManage modifyvm boot2docker-vm --memory 3500

También, usando esto creo que puede evitar destruir su VM, debe simplemente stop y luego start de nuevo.

 42
Author: Alexey Petrenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-28 15:19:26

NO es necesario delete su boot2docker vm como dijo Abel Muiño.

Es suficiente qué hacer lo que Alex Petrenko propuso.

  1. boot2docker stop
  2. VBoxManage modifyvm boot2docker-vm --memory 3500
  3. boot2docker start
 30
Author: quexer69,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-04 12:20:45

También puede ajustar la configuración en la interfaz gráfica de usuario.

  1. Abrir VirtualBox
  2. Seleccione'boot2docker-vm'
  3. Haga clic en configuración
  4. Seleccione el sistema
  5. Modifica tu RAM

No es necesario eliminar su máquina virtual boot2docker.

 3
Author: Oliver Shaw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-05 07:54:31

Cuando está trabajando en un Mac, no necesariamente necesita usar boot2docker. Por lo general yo uso docker-machine. Con eso también puede crear fácilmente una máquina virtual que coincida con sus requisitos como:

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

Que crea una máquina virtual llamada dev con un disco de 50 GB, utilizando 4 CPU y 8 GB de memoria.

Puede listar su VM creada con docker-machine ls y obtener la dirección IP para conectarse con docker-machine ip dev.

 3
Author: h3nrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-05 08:02:51

En caso de que utilice boot2docker en hyperv. Docker tiene argumentos cli específicos del controlador.

LISTA : https://docs.docker.com/machine/drivers/

HyperV : https://docs.docker.com/machine/drivers/hyper-v/#options

Por ejemplo, para crear: docker-machine create --driver hyperv --hyperv-virtual-switch "Multiplexor" Boot2Docker --hyperv-memory "8192" --hyperv-cpu-count "4" --hyperv-disk-size "40000" --hyperv-static-macaddress "00:15:1D:01:F4:11"

 0
Author: z2z,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-13 12:27:25