先下载ElasticSearch相关镜像,这里用的是7.4.2版本:
docker pull elasticsearch:7.4.2
创建挂载文件夹,和ElasticSearch容器中的文件夹做映射,完成数据持久化:
#这里的文件夹根据自己想要的路径定义,挂载es的配置
mkdir -p /jiejie/elasticsearch/config
#挂载es的data文件夹
mkdir -p /jiejie/elasticsearch/data
#将[http.host:0.0.0.0]写入es的配置文件中,允许任何远程机器访问es
echo "http.host: 0.0.0.0" >> /jiejie/elasticsearch/config/elasticsearch.yml
#修改权限
chmod -R 777 /jiejie/elasticsearch/
启动容器:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /jiejie/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /jiejie/elasticsearch/data:/usr/share/elasticsearch/data \
-v /jiejie/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
以上命令主要作用就是后台启动一个名为elasticsearch的es容器,该容器以单节点模式运行,容器的最大内存为128m,最小内存为64m,设置最大最小内存主要是为了防止es把可用内存都给占用了,同时挂载容器卷映射文件夹以及映射端口。
浏览器访问ip+端口,情况如下:
docker安装ElasticSearch完成。