AWS container service: set max_map_count
I’m trying to run Elasticsearch on AWS container service. Here the documentation that I’m following: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode
The vm_map_max_count setting should be set permanently in
Using Jenkins Blue Ocean to Deploy builds Docker Local Machine How to write parameterized Bash alias for Docker command How to define docker image name from within docker-compose.yml? How to run Docker inside Jenkins which is running as container What is a good style to deploy with docker when docker hub is not available?
$ grep vm.max_map_count /etc/sysctl.conf
To apply the setting on a live system type: sysctl -w
Is there any way to set the vm.max_map_count via script? I don’t want to do it manually every time I run a new container.
2 Solutions collect form web for “AWS container service: set max_map_count”
You could still set it permanently in /etc/sysctl.conf as per you’ve mentioned in your Q. Didn’t it work?
as per this ticket you could set it up as follows:
sysctl -qw vm.max_map_count=65535
Hope it helps!
I found a solution:
- create an empty container
- Launch an EC2 inside the previous container: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
- Add the user data (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) as follow:
#!/bin/bash echo vm.max_map_count=262144 >> /etc/sysctl.conf sysctl -w vm.max_map_count=262144
Now the EC2 instance is properly configured.