使用Docker run 命令

docker run  -d -p 9200:9200 -p 9300:9300 --name 用户自定义名字 容器ID

会看到一串字符串,一般情况下我们会误以为它启动成功
在这里插入图片描述
我们执行docker ps -a是发现它自动退出了
在这里插入图片描述
使用docker logs -f 容器ID 查看日志发现:
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

错误提示

告诉我们是ES需要jvm内存太大了,所有我们需要改一下配置,执行下面代码

sysctl -w vm.max_map_count=262144

然后输入下列命令运行一下:

docker run -d -e ES_JAVA_POTS="-Xms256m -Xmx256m" -p 9200:9200 -p 9300:9300 --name ES3 8f46db60ddd6

查看日志发现还是报错:
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

解决方法如下:

docker run -d -e ES_JAVA_POTS="-Xms256m -Xmx256m"  -e "discovery.type=single-node" -p 9200:9200 -p 
9300:9300 --name ES3 8f46db60ddd6

最终就启动成功了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐