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%