web-dev-qa-db-fra.com

Modifier l'affectation de mémoire de boot2docker

J'ai joué avec docker sur un mac, donc j'ai besoin d'installer boot2docker pour le faire fonctionner.

J'ai une machine assez puissante et une application très gourmande en ressources, donc je veux augmenter la mémoire disponible par défaut qui est 1 Go à quelque chose comme 8 Go.


C'est ce que j'ai essayé

Démarrer boot2dock avec le paramètre --memory

boot2docker --memory=8116 boot

Changer le fichier de configuration

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"

puis en démarrant boot2docker

boot2docker boot

Aucune de ces approches ne semble fonctionner. Je finis seulement par avoir la mémoire par défaut.


La seule façon que j'ai réussi à changer était d'aller à boot2docker pour l'arrêt de l'interface graphique de virtualbox, de le changer manuellement et de le redémarrer.

Suis-je en train de manquer quelque chose?

34
mjsilva

Vous devrez réinitialiser le boot2docker VM avec les nouveaux paramètres de mémoire:

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

Tu peux maintenant boot2docker up et l'image utilisera toujours la quantité de mémoire configurée.

23
Abel Muiño

Comme boot2docker init -m ne fonctionnait pas dans ma version de boot2docker, je viens d'utiliser la commande VBoxManage:

VBoxManage modifyvm boot2docker-vm --memory 3500

En outre, en utilisant cela, je pense que vous pouvez éviter de détruire votre machine virtuelle, vous devez simplement stop puis start à nouveau.

42
Aleksei Petrenko

Il n'est PAS nécessaire de delete votre boot2docker vm comme l'a dit Abel Muiño.

C'est assez quoi faire ce que propose Alex Petrenko.

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

Lorsque vous travaillez sur un Mac, vous n'avez pas nécessairement besoin d'utiliser boot2docker. Habituellement, j'utilise docker-machine . Avec cela, vous pouvez également créer facilement un VM correspondant à vos besoins, comme:

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

Cela crée un VM appelé dev avec un disque de 50 Go, utilisant 4 CPU et 8 Go de mémoire.

Vous pouvez répertorier votre VM créé avec docker-machine ls et obtenez l'adresse IP pour vous connecter avec docker-machine ip dev.

3
h3nrik

Vous pouvez également modifier les paramètres dans l'interface graphique.

  1. Ouvrez VirtualBox
  2. Sélectionnez 'boot2docker-vm'
  3. Cliquez sur paramètres
  4. Sélectionnez le système
  5. Ajustez votre RAM

Pas besoin de supprimer votre boot2docker vm.

3
Oliver Shaw

Dans le cas où vous utilisez boot2docker en hyperv. Docker a des arguments cli spécifiques au pilote.

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

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

par exemple pour créer: 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"

1
z2z