I'm using this container to start elasticsearch
in docker
. In accordance with the manual I have to update max_map_count
to start the container
sudo sysctl -w vm.max_map_count=262144
but.. I can update it in my host (container) AFTER I start it while I'm unable to start it. Am I doing something wrong?
ERROR: bootstrap checks failed max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
If I try to do it on my host machine (which is Mac) I get the following error.
sysctl: unknown oid 'vm.max_map_count'
Docker engine installs the Lunix VM where all containers are running. So the command to increase the limit should be executed for the Linux host, not for the Mac.
How can I access Linux VM via terminal installed by the Docker engine?
On Docker Toolbox
If you are in docker toolbox try the docker client from terminal and then make the configs:
On Docker For Mac:
The vm_max_map_count setting must be set within the xhyve virtual machine:
If it asks you for a username and passwordLog in with root and no password.
If it just has a blank screen, press RETURN.
Then configure the sysctl setting as you would for Linux:
Exit by Control-A Control-\.
Se the docs here.
Persistence
In some cases, this change does not persist across restarts of the VM. So, while
screen
'd into, edit the file/etc/sysctl.d/00-alpine.conf
and add the parametervm.max_map_count=262144
to the end of file.