说明
基于:centos:7+ 、elasticsearch:7.6.2
1、拉取镜像
docker pull elasticsearch:7.6.2
2、创建宿主机数据目录
mkdir -p /data/docker/elk/elasticsearch/config
mkdir -p /data/docker/elk/elasticsearch/data
mkdir -p /data/docker/elk/elasticsearch/plugins
echo "http.host: 0.0.0.0" >> /data/docker/elk/elasticsearch/config/elasticsearch.yml
3、启动运行镜像
3.1 运行容器(数据随容器)
docker run -di --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms128m -Xmx512m" elasticsearch:7.6.2
3.1 运行容器(数据挂载在宿主机)
docker run -di --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms128m -Xmx512m" -v /data/docker/elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data -v /data/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.6.2
其中elasticsearch.yml是挂载的配置文件,data是挂载的数据,plugins是es的插件,如ik,而数据挂载需要权限,需要设置data文件的权限为可读可写,需要下边的指令。
chmod -R 777 要修改的路径
-e "discovery.type=single-node" 设置为单节点
特别注意:
-e ES_JAVA_OPTS="-Xms128m -Xmx516m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES