1.安装docker
# 安装
yum install -y docker
# 查看版本信息
docker version
# 修改docker的镜像源
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"]
}
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker
# 查看docker状态
systemctl status docker
# 重新启动docker
systemctl restart docker
2.拉取镜像
docker pull elasticsearch:7.12.1
3.在宿主机创建和容器内共享的目录
# 存放配置文件目录
mkdir -p /docker/es/conf
# 存放数据目录
mkdir -p /docker/es/data
# 存放日志目录
mkdir -p /docker/es/logs
# 存放插件目录
mkdir -p /docker/es/plugins
# 创建好目录后为了防止下边创建容器报错,给宿主机的这个es目录赋个读写权限
chmod -R 777 /docker/es/
4.创建es配置文件
vi /docker/es/conf/elasticsearch.yml
cluster.name: my-application
node.name: node-1
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
5.构建容器
docker run -p 9200:9200 -d --name es -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -v /docker/es/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data -v /docker/es/plugins:/usr/share/elasticsearch/plugins -v /docker/es/logs:/usr/share/elasticsearch/logs --privileged=true elasticsearch:7.12.1
6.测试,在浏览器中访问服务地址+9200的端口,可以显示以下信息证明安装成功
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "b-ovHR-GRvunpTmWOfoLKw",
"version" : {
"number" : "7.12.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "3186837139b9c6b6d23c3200870651f10d3343b7",
"build_date" : "2021-04-20T20:56:39.040728659Z",
"build_snapshot" : false,
"lucene_version" : "8.8.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安装es的可视化面板 kibana
docker pull kibana:7.12.1
mkdir -p /docker/kibana/conf
vi /docker/kibana/conf/kibana.yml
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://你的es地址:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
docker run -p 5601:5601 -d --name kibana -v /docker/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --privileged=true kibana:7.12.1
访问测试:http://服务ip:5601
安装es的ik分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1
mkdir /docker/es/plugins/ik
mv elasticsearch-analysis-ik-7.12.1.zip /docker/es/plugins/ik/
cd /docker/es/plugins/ik
unzip elasticsearch-analysis-ik-7.12.1.zip
rm -rf elasticsearch-analysis-ik-7.12.1.zip
docker restart es
安装es的ik分词器可能会导致es内存溢出,可以在es配置中增加内存限制
indices.fielddata.cache.size: 50%