版本和文档
本篇文章使用的elasticsearch docker版本是
8.6.2
,文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/8.6/docker.html
elasticsearch docker镜像的最新的版本在https://www.elastic.co/guide/en/elasticsearch/reference/8.6/docker.html,镜像版本号和文档版本号要对应
前提
/etc/sysctl.conf
中的vm.max_map_count
必须至少设置为262144才能用于生产
bash vm.max_map_count=262144
部署
rm -rf data
mkdir data
chmod -R 777 data
docker run -it \
--name es01 \
-e TZ=Asia/Shanghai \
-e "ES_JAVA_OPTS=-Xms750m -Xmx750m" \
-e "bootstrap.memory_lock=true" \
--ulimit memlock=-1:-1 \
--ulimit nofile=65535:65535 \
-v $PWD/data:/usr/share/elasticsearch/data \
-v $PWD/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-p 9200:9200 \
elasticsearch:8.6.2
初始化时间有点长,等待程序初始化完成,用docker logs es01
查看日志,在日志中找到登录账号和登录密码
参数介绍
/etc/sysctl.conf
中的vm.max_map_count
必须至少设置为262144才能用于生产docker run
命令中添加参数--ulimit nofile=65535:65535
docker run
命令中添加参数-e "bootstrap.memory_lock=true" --ulimit memlock=-1:-1
禁用交换内存docker run
命令中添加参数-e ES_JAVA_OPTS="-Xms750m -Xmx750m"
,具体大小应该为系统总内存的一半
测试
方式1
在浏览器内访问方式2
curl命令访问# 保存cert证书 docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
如果一切正常,您应该会看到Elasticsearch返回的JSON响应。curl --cacert http_ca.crt -u elastic https://地址:9200 --insecure