1.拉取鏡像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.2
2.啟動(dòng)容器,設(shè)置部分參數(shù)是為了支持跨域訪問(wèn)。
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e http.cors.enabled=true -e http.cors.allow-origin="*" -e http.cor
s.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization -e http.cors.allow-credentials=true elasticsearch:7.4.2
3.通過(guò)localhost:9200 訪問(wèn),會(huì)返回集群狀態(tài)信息,證明安裝成功。
{
"name" : "828ba9d616ea",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "h01186kPQZ6LIxZQWIwbGg",
"version" : {
"number" : "7.4.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
"build_date" : "2019-10-28T20:40:44.881551Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
4.chrome安裝head插件--ElasticSearch Head。
5.此刻你會(huì)發(fā)現(xiàn)Elasticsearch是裸奔的,現(xiàn)在添加基本安全驗(yàn)證。
5.1 進(jìn)入容器
docker exec -it 容器ID bash
5.2 進(jìn)入到Elasticsearch安裝目錄
cd /usr/share/elasticsearch
5.3使用下列命令生成證書(shū)
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
此時(shí)目錄下會(huì)多出2個(gè)文件:elastic-certificates.p12 和 elasticsearch.keystore。
修改文件所屬用戶(hù)和權(quán)限:
chown elasticsearch ./elastic-certificates.p12 ./ elasticsearch.keystore
chmod 660 ./elastic-certificates.p12 ./ elasticsearch.keystore
5.4 修改配置,打開(kāi)config/elasticsearch.yml,添加以下內(nèi)容:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
5.5 重啟容器
docker restart 容器ID
5.6 進(jìn)入容器
docker exec -it 容器ID bash
執(zhí)行
elasticsearch-setup-passwords auto
請(qǐng)記住生成的密碼。
Changed password for user apm_system
PASSWORD apm_system = t7R97a1jwydHo1EraxNX
Changed password for user kibana
PASSWORD kibana = b9VLaZrh3q3G05OgeKhc
Changed password for user logstash_system
PASSWORD logstash_system = 0Y1oBhEfZUqnQNDNvF5L
Changed password for user beats_system
PASSWORD beats_system = a9II6E3mYCSzpnggNlxA
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 0AlWhN0X92INjx1GaZJb
Changed password for user elastic
PASSWORD elastic = IyKmRPh2I3EkK47OGiwI
如果想自己設(shè)置密碼,請(qǐng)執(zhí)行
elasticsearch-setup-passwords interactive
5.7 打開(kāi)瀏覽器,訪問(wèn)localhost:9200 會(huì)提示你輸入用戶(hù)名密碼。至此,密碼設(shè)置完成。