Docker – ELK – vm.max_map_count

我正在尝试使用Docker Compose来使用Docker的图像elk-docker ( https://elk-docker.readthedocs.io/ )。 .yml文件就是这样的:

elk: image: sebp/elk ports: - "5601:5601" - "9200:9200" - "5044:5044" 

当我运行命令:sudo docker-compose up时,控制台显示:

 * Starting Elasticsearch Server sysctl: setting key "vm.max_map_count": Read-only file system ...fail! waiting for Elasticsearch to be up (1/30) waiting for Elasticsearch to be up (2/30) waiting for Elasticsearch to be up (3/30) waiting for Elasticsearch to be up (4/30) waiting for Elasticsearch to be up (5/30) waiting for Elasticsearch to be up (6/30) waiting for Elasticsearch to be up (7/30) waiting for Elasticsearch to be up (8/30) waiting for Elasticsearch to be up (9/30) waiting for Elasticsearch to be up (10/30) waiting for Elasticsearch to be up (11/30) waiting for Elasticsearch to be up (12/30) waiting for Elasticsearch to be up (13/30) waiting for Elasticsearch to be up (14/30) waiting for Elasticsearch to be up (15/30) waiting for Elasticsearch to be up (16/30) waiting for Elasticsearch to be up (17/30) waiting for Elasticsearch to be up (18/30) waiting for Elasticsearch to be up (19/30) waiting for Elasticsearch to be up (20/30) waiting for Elasticsearch to be up (21/30) waiting for Elasticsearch to be up (22/30) waiting for Elasticsearch to be up (23/30) waiting for Elasticsearch to be up (24/30) waiting for Elasticsearch to be up (25/30) waiting for Elasticsearch to be up (26/30) waiting for Elasticsearch to be up (27/30) waiting for Elasticsearch to be up (28/30) waiting for Elasticsearch to be up (29/30) waiting for Elasticsearch to be up (30/30) Couln't start Elasticsearch. Exiting. Elasticsearch log follows below. cat: /var/log/elasticsearch/elasticsearch.log: No such file or directory docker_elk_1 exited with code 1 

我该如何解决这个问题?

您可能需要在主机本身的/etc/sysctl.conf设置vm.max_map_count ,以便Elasticsearch不会尝试从容器内执行此操作。 如果您不知道所需的值,请尝试将当前设置加倍并继续,直到Elasticsearch成功启动。 文档build议至less262144。