1.下拉镜像
docker pull elasticsearch:7.4.2
2.验证
docker images
3.创建挂载文件(即把ElasticSearch容器内部的配置文件映射到容器外部,不需要进入容器内部去修改配置文件)
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/plugins
在config目录下创建配置文件
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
注意:http.host: 之后有一个空格
4.给创建的配置文件夹赋权
chmod -R 777 elasticsearch/
5.启动
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
参数解析:
- –name elasticsearch:将容器命名为 elasticsearch
- -p 9200:9200:将容器的9200端口映射到宿主机9200端口
- -p 9300:9300:将容器的9300端口映射到宿主机9300端口,目的是集群互相通信
- -e “discovery.type=single-node”:单例模式
- -e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小
- -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机
- -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data:将数据文件夹挂载到宿主机
- -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins:将插件目录挂载到宿主机(需重启)
- -d elasticsearch:7.4.2:后台运行容器,并返回容器ID
6.验证是否启动成功
设置随Docker启动容器启动
docker update elasticsearch --restart=always
安装Kibana
拉取镜像同上述的 ElasticSearch镜像的拉取
运行:
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.253.128:9200 -p 5601:5601 -d kibana:7.4.2
注意:192.168.253.128是我自己ElasticSearch的地址,需要修改成自己的地址
远程访问界面: