Has anybody fixed this issue? Assuming that multiple people are going to run into this issue, do you think there is a chance to get the required setting as standard on all containers?
Note: since 5.0, […] Elasticsearch is more strict about the bootstrap checks that it performs, especially when checking the value of vm.max_map_count which is not namespaced and thus must be set to an acceptable value on the host (as opposed to simply using --sysctl on docker run).
I temporarily fixed the issue by disabling the Bootstrap checks introduced in ES5. On ES5.2.2, you can do so by passing -Ebootstrap.system_call_filter=false -Etransport.host=localhost
to your docker run command.
Unfortunately non of the above solutions in an option for us.
Is there any chance to add the possibility to set vm.max_map_count somehow with circleci 2.0?
I’ve a docker-compose setup (my base image have a docker installed, that run my docker-compose).
The problem is that querying sysctl for vm.max_map_count, it results the right value: vm.max_map_count = 262144, but doing the same inside any docker-compose service returns vm.max_map_count = 65530
I don’t know how to solve this issue.
Disabling bootstrap checks is just a workaround to the issue.
Trying to run Elasticsearch 6 in docker-compose still fails for us with max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144], even with "bootstrap.system_call_filter=false".
Are you using Docker 2.0, @ThomWright? You could look at switching to the machine executor to see if the increased RAM would help - you get 8G rather than 4G I believe. Just be aware there may be a cost associated with this config in the future (as per the docs), but it’s a free addition for now.
Ah, gotcha @ThomWright . It doesn’t look like it was raised in the host (or perhaps it was reverted), as it has gone back to 65530. Can you reset it in the build environment (see here) so that your Docker Compose (effectively Docker in Docker) sees the changed value?
Or does this need to be on the Docker host outside of your build environment?