I am new to Docker, and trying to go through this tutorial setting up MemSQL from a Docker image - http://docs.memsql.com/4.0/setup/docker/ . I am on a Mac, and the tutoria
when you create docker machine, you can nominate the memory size:
docker-machine create -d virtualbox --virtualbox-memory 4096 default
Let me know if this helps.
I couldn't get the other answers to work. The only thing that worked for me was to remove the default machine and re-create it with more memory.
docker-machine rm default
docker-machine create -d virtualbox --virtualbox-memory=4096 --virtualbox-cpu-count=2 --virtualbox-disk-size=50000 default
This fix was found here: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en
For Docker version 1.12.1 (build: 12133) and higher on macOS there is an option to change CPU's and RAM from UI and restart docker. You can find the preferences from toolbar. Attaching images for clarity.
Update: Aug 2020: Preferences -> Resources (thank you to @swedge218)
Old Step (probably defunct now): Preferences -> Advanced -> adjust resources -> Apply & Restart
fox xhyve (another virtualization under macos) you can modify ~/.docker/machine/default/config.json property Driver/Memory (default to 1024) then restart docker machine to apply changes
You can do this via the command line. For example, to change the machine from the default 1cpu/2048MB RAM run:
docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start
You can then check your settings:
VBoxManage showvminfo default | grep Memory
VBoxManage showvminfo default | grep CPU
And for docker-machine inspect
to report the correct state of things, edit ~/.docker/machine/machines/default/config.json
to reflect your changes.
Docker Machine maintainer here. I don't think adjusting the config.json
manually will work.
Your two options are to either create the machine with --virtualbox-memory
set, or to adjust the VM's memory in the VirtualBox GUI ("Settings > System" for that VM I think). Make sure the machine is powered off and there should be a little slider that works.
EDIT: Another answer shows that you can do the in-place operation from the command line as well using VBoxManage
.