本人在学习es时,用docker构建es容器时。出现,构建完成后,就立即停止的问题,记录一下该问题,并顺便学习一下基础的docker命令
创建es容器
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v es-data:/usr/share/elasticsearch/data -v es-plugins:/usr/share/elasticsearch/plugins --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1
docker imaegs 查看到有es镜像
docker ps 查看到es容器未运行
docker ps -a 查看到容器就运行一秒
百度发现是最大虚拟内存区 vm.max_map_count 设置的 65530 太低,至少要增加到 262144的问题
进入etc目录,编辑sysctl.conf文件:
vi /etc/sysctl.conf
添加配置:
vm.max_map_count=262144
执行: sysctl -p 查看是否配置成功
sysctl -p
设置了一下虚拟内存区
docker restart es 重启了一下es,发现容器运行几秒又挂了
docker inspect ConTAINER ID 查询容器,发现不是oom的问题
docker logs ConTAINER ID 发现 Elasticsearch did not exit normally
百度发现运行命令中少加了 -e "discovery.type=single-node"
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -v es-data:/usr/share/elasticsearch/data -v es-plugins:/usr/share/elasticsearch/plugins --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1
docker ps 问题解决
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)