AWS容器服务:设置max_map_count

我试图在AWS容器服务上运行Elasticsearch。 这里是我所遵循的文档: https : //www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

vm_map_max_count设置应该在/etc/sysctl.conf中永久设置:

$ grep vm.max_map_count /etc/sysctl.conf

vm.max_map_count = 262144

要在实时系统上应用此设置,请键入:sysctl -w vm.max_map_count = 262144

有什么办法通过脚本设置vm.max_map_count? 我不想每次运行一个新的容器时手动执行。

谢谢

我find一个解决scheme:

  1. 创build一个空容器
  2. 在上一个容器中启动EC2: http : //docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
  3. 添加用户数据( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html ),如下所示:
#!/bin/bash echo vm.max_map_count=262144 >> /etc/sysctl.conf sysctl -w vm.max_map_count=262144 

现在,EC2实例已正确configuration。

你可以在/etc/sysctl.conf中永久地设置它,就像你在Q中提到的那样。它没有工作吗?

要么

根据这张票,你可以设置如下:

sysctl -qw vm.max_map_count = 65535

希望能帮助到你!