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è)名稱(chēng),后續(xù) Kibana 將通過(guò)這個(gè)名稱(chēng) elasticsearch 來(lái)訪問(wèn)它。
- –network es-net:將容器連接到剛創(chuàng)建的自定義網(wǎng)絡(luò)。
- -p 9200:9200:將容器的 9200 端口(HTTP API 端口)映射到宿主機(jī)的 9200 端口,以便從宿主機(jī)訪問(wèn)。
- -p 9300:9300:將容器的 9300 端口(節(jié)點(diǎn)間通信端口)映射出來(lái),通常其他 Elasticsearch 節(jié)點(diǎn)會(huì)通過(guò)這個(gè)端口通信,單節(jié)點(diǎn)模式下非必須,但建議保留。
- -e “discovery.type=single-node”:設(shè)置 Elasticsearch 為單節(jié)點(diǎn)模式,簡(jiǎ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)證
通過(guò)網(wǎng)頁(yè)訪問(wèn)9200端口,提示要輸入用戶和密碼。
但是在安裝時(shí)沒(méi)有為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 工具來(lái)批量設(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:為容器指定名稱(chēng)。
- –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)證證書(shū)掛載到容器內(nèi),kibana容器啟動(dòng)時(shí)會(huì)訪問(wèn)
- -e “ELASTICSEARCH_HOSTS=http://elasticsearch:9200”:關(guān)鍵! 這里設(shè)置了 Elasticsearch 的 URL。注意,主機(jī)名用的就是 Elasticsearch 容器的名稱(chēng) elasticsearch。這是因?yàn)樵谧远x網(wǎng)絡(luò) elastic-net 中,Docker 內(nèi)置的 DNS 服務(wù)會(huì)自動(dòng)將容器名稱(chēng)解析為其內(nèi)部 IP 地址。
- -e “ELASTICSEARCH_USERNAME=kibana_system”:8.x版本的es默認(rèn)開(kāi)啟了安全認(rèn)證,使用kibana_system用戶連接
- -e “ELASTICSEARCH_PASSWORD=***”:8.x版本的es需要連接密碼,在此使用kibana_system用戶訪問(wèn)es的密碼。
- -e “ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certs/http_ca.crt”: 告訴 Kibana CA 證書(shū)的路徑
- -e “ELASTICSEARCH_SSL_VERIFICATIONMODE=certificate”:?jiǎn)?dòng)時(shí)驗(yàn)證證書(shū)
- docker.elastic.co/…:8.11.0:Kibana 的版本必須與 Elasticsearch 的版本一致。
安裝驗(yàn)證
訪問(wèn)ES端口,因?yàn)殚_(kāi)啟了安全認(rèn)證,輸入ES超級(jí)用戶elastic的用戶名及密碼即可登錄。

安裝IK分詞器
下載IK分詞器
ik分詞器下載地址
下載版本和ES版本保持一致:8.11.0
安裝
- 直接通過(guò)數(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搭建CMS點(diǎn)播系統(tǒng)帶播放器功能
熟悉docker的童鞋都知道,安裝是非常的便利的,也可以在線體驗(yàn)的,今天通過(guò)本文給大家介紹docker搭建CMS點(diǎn)播系統(tǒng)帶播放器功能,感興趣的朋友跟隨小編一起看看吧2021-05-05
Docker安裝mysql教程以及解決mysqld: Can‘t read dir&nbs
本文詳細(xì)介紹了如何通過(guò)Docker來(lái)安裝和配置MySQL數(shù)據(jù)庫(kù),包括拉取MySQL鏡像、啟動(dòng)MySQL容器、配置MySQL、解決常見(jiàn)錯(cuò)誤等步驟,提供了詳盡的命令和參數(shù)說(shuō)明,幫助用戶順利完成MySQL的安裝和配置,文中還提到了如何處理MySQL容器啟動(dòng)時(shí)遇到的“無(wú)法讀取目錄”2024-10-10
Docker高級(jí)教程之智能添加與修改防火墻規(guī)則
這篇文章主要介紹了Docker高級(jí)教程之智能添加與修改防火墻規(guī)則,需要的朋友可以參考下2017-01-01
docker部署golang http服務(wù)時(shí)端口無(wú)法訪問(wèn)的問(wèn)題解決
本文主要介紹了docker部署golang http服務(wù)時(shí)端口無(wú)法訪問(wèn)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法
這篇文章主要介紹了Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法,需要的朋友可以參考下2017-06-06
Docker下安裝Mongo4.2及客戶端工具連接Mongo
這篇文章主要介紹了Docker下安裝Mongo4.2和客戶端工具連接Mongo數(shù)據(jù)庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01

