docker在自定義網(wǎng)絡(luò)中安裝ElasticSearch和Kibana的步驟
創(chuàng)建自定義網(wǎng)絡(luò)
創(chuàng)建一個(gè)名為 es-net 的橋接網(wǎng)絡(luò)。這將作為 Elasticsearch 和 Kibana 的私有通信通道。
# 創(chuàng)建網(wǎng)絡(luò) docker network create es-net # 查看網(wǎng)絡(luò)是否創(chuàng)建成功 docker network ls

啟動(dòng) Elasticsearch 容器
安裝命令
docker run -d \ --name elasticsearch \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -v es_data:/usr/share/elasticsearch/data \ docker.elastic.co/elasticsearch/elasticsearch:8.11.0

參數(shù)解釋
- -d:在后臺(tái)運(yùn)行容器(守護(hù)進(jìn)程模式)。
- –name elasticsearch:為容器指定一個(gè)名稱,后續(xù) Kibana 將通過這個(gè)名稱 elasticsearch 來訪問它。
- –network es-net:將容器連接到剛創(chuàng)建的自定義網(wǎng)絡(luò)。
- -p 9200:9200:將容器的 9200 端口(HTTP API 端口)映射到宿主機(jī)的 9200 端口,以便從宿主機(jī)訪問。
- -p 9300:9300:將容器的 9300 端口(節(jié)點(diǎn)間通信端口)映射出來,通常其他 Elasticsearch 節(jié)點(diǎn)會(huì)通過這個(gè)端口通信,單節(jié)點(diǎn)模式下非必須,但建議保留。
- -e “discovery.type=single-node”:設(shè)置 Elasticsearch 為單節(jié)點(diǎn)模式,簡化配置。
- -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:為 Elasticsearch 分配 512MB 的堆內(nèi)存。
- -v es_data:/usr/share/elasticsearch/data:將數(shù)據(jù)目錄掛載到名為 es_data 的 Docker 卷中,防止容器刪除后數(shù)據(jù)丟失。
- docker.elastic.co/…:8.11.0:指定使用的鏡像和版本。
安裝驗(yàn)證
通過網(wǎng)頁訪問9200端口,提示要輸入用戶和密碼。
但是在安裝時(shí)沒有為ES設(shè)置用戶名和密碼,查找資料發(fā)現(xiàn)ES會(huì)有個(gè)默認(rèn)超級(jí)用戶elastic,但是需要我們手動(dòng)為這個(gè)用戶設(shè)置密碼。
ES設(shè)置密碼
- 進(jìn)入容器
使用 docker exec 命令以交互模式(-it)進(jìn)入正在運(yùn)行的容器。
docker exec -it elasticsearch /bin/bash
- 在容器內(nèi)執(zhí)行密碼設(shè)置命令
Elasticsearch 提供了內(nèi)置的 elasticsearch-setup-passwords 工具來批量設(shè)置所有內(nèi)置用戶的密碼。
重要提示: 此命令會(huì)為所有內(nèi)置用戶(如 elastic, kibana_system, apm_system 等)設(shè)置新密碼。如果你不是首次設(shè)置,它將重置所有密碼(ps:elastic)。
# 使用 interactive (交互) 模式 elasticsearch-setup-passwords interactive

再次安裝驗(yàn)證
輸入用戶及密碼后,驗(yàn)證成功

啟動(dòng)Kibana容器
啟動(dòng)命令
docker run -d \ --name kibana \ --network es-net \ -p 5601:5601 \ -v /usr/share/elasticsearch/config/certs/http_ca.crt:/usr/share/elasticsearch/config/certs/http_ca.crt:ro \ -e "ELASTICSEARCH_HOSTS=https://elasticsearch:9200" \ -e "ELASTICSEARCH_USERNAME=kibana_system" \ -e "ELASTICSEARCH_PASSWORD=***" \ -e "ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certs/http_ca.crt" \ -e "ELASTICSEARCH_SSL_VERIFICATIONMODE=certificate" \ docker.elastic.co/kibana/kibana:8.11.0
參數(shù)解釋
- –name kibana:為容器指定名稱。
- –network es-net:讓 Kibana 容器加入到與 Elasticsearch 同一個(gè)自定義網(wǎng)絡(luò)中。
- -p 5601:5601:將容器的 5601 端口映射到宿主機(jī)的 5601 端口。
- -v /usr/share/elasticsearch/config/certs/http_ca.crt:/usr/share/elasticsearch/config/certs/http_ca.crt:ro:將ES生成的認(rèn)證證書掛載到容器內(nèi),kibana容器啟動(dòng)時(shí)會(huì)訪問
- -e “ELASTICSEARCH_HOSTS=http://elasticsearch:9200”:關(guān)鍵! 這里設(shè)置了 Elasticsearch 的 URL。注意,主機(jī)名用的就是 Elasticsearch 容器的名稱 elasticsearch。這是因?yàn)樵谧远x網(wǎng)絡(luò) elastic-net 中,Docker 內(nèi)置的 DNS 服務(wù)會(huì)自動(dòng)將容器名稱解析為其內(nèi)部 IP 地址。
- -e “ELASTICSEARCH_USERNAME=kibana_system”:8.x版本的es默認(rèn)開啟了安全認(rèn)證,使用kibana_system用戶連接
- -e “ELASTICSEARCH_PASSWORD=***”:8.x版本的es需要連接密碼,在此使用kibana_system用戶訪問es的密碼。
- -e “ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certs/http_ca.crt”: 告訴 Kibana CA 證書的路徑
- -e “ELASTICSEARCH_SSL_VERIFICATIONMODE=certificate”:啟動(dòng)時(shí)驗(yàn)證證書
- docker.elastic.co/…:8.11.0:Kibana 的版本必須與 Elasticsearch 的版本一致。
安裝驗(yàn)證
訪問ES端口,因?yàn)殚_啟了安全認(rèn)證,輸入ES超級(jí)用戶elastic的用戶名及密碼即可登錄。

安裝IK分詞器
下載IK分詞器
ik分詞器下載地址
下載版本和ES版本保持一致:8.11.0
安裝
- 直接通過數(shù)據(jù)卷共享將zip文件同步到容器中的掛載點(diǎn)目錄下
- 安裝
bin/elasticsearch-plugin install file:///usr/share/elasticsearch/data/elasticsearch-analysis-ik-8.11.0.zip

驗(yàn)證

到此這篇關(guān)于docker在自定義網(wǎng)絡(luò)中安裝ElasticSearch和Kibana的步驟的文章就介紹到這了,更多相關(guān)docker安裝ElasticSearch和Kibana內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解docker進(jìn)行數(shù)據(jù)掛載的三種模式
Docker?提供了三種方式將數(shù)據(jù)從宿主機(jī)掛載到?Docker容器中:?volumes、bind?mounts、tmpfs?,這篇文章主要介紹了docker進(jìn)行數(shù)據(jù)掛載的三種模式,需要的朋友可以參考下2022-05-05
使用Dockerfile.dockerignore提升Docker鏡像構(gòu)建速度
這篇文章主要為大家介紹了使用Dockerfile.dockerignore提升Docker鏡像構(gòu)建速度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-10-10
Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)的操作方法
這篇文章主要介紹了Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
Docker的安裝方法及運(yùn)行Docker Swarm模式的使用
本文給大家簡單介紹docker的安裝以及1.12版本的swarm模式的使用,包括docker的安裝和配置,對(duì)docker swarm簡單使用感興趣的朋友一起看看吧2016-11-11
Docker部署Jenkins持續(xù)集成(CI)工具的實(shí)現(xiàn)
Jenkins 是一個(gè)流行的開源自動(dòng)化工具,廣泛應(yīng)用于持續(xù)集成(CI)和持續(xù)交付(CD)的環(huán)境中,本文介紹了使用Docker部署Jenkins,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Docker安裝Redis并使用Another?Redis?Desktop?Manager連接的方法
Redis?是一個(gè)使用C語言編寫的、開源的(遵守?BSD?協(xié)議)、高性能的、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value的NoSQL數(shù)據(jù)庫,這篇文章主要介紹了Docker安裝Redis并使用Another?Redis?Desktop?Manager連接,需要的朋友可以參考下2022-09-09
使用Docker搭建Apache Kafka環(huán)境的詳細(xì)過程
這篇文章主要介紹了使用Docker搭建Apache Kafka環(huán)境,本文使用Docker技術(shù)創(chuàng)建單個(gè)Kafka節(jié)點(diǎn)和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息,需要的朋友可以參考下2022-10-10

