docker在自定義網(wǎng)絡(luò)中安裝ElasticSearch和Kibana的步驟
創(chuàng)建自定義網(wǎng)絡(luò)
創(chuàng)建一個名為 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
啟動 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:在后臺運行容器(守護進程模式)。
- –name elasticsearch:為容器指定一個名稱,后續(xù) Kibana 將通過這個名稱 elasticsearch 來訪問它。
- –network es-net:將容器連接到剛創(chuàng)建的自定義網(wǎng)絡(luò)。
- -p 9200:9200:將容器的 9200 端口(HTTP API 端口)映射到宿主機的 9200 端口,以便從宿主機訪問。
- -p 9300:9300:將容器的 9300 端口(節(jié)點間通信端口)映射出來,通常其他 Elasticsearch 節(jié)點會通過這個端口通信,單節(jié)點模式下非必須,但建議保留。
- -e “discovery.type=single-node”:設(shè)置 Elasticsearch 為單節(jié)點模式,簡化配置。
- -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:指定使用的鏡像和版本。
安裝驗證
通過網(wǎng)頁訪問9200端口,提示要輸入用戶和密碼。
但是在安裝時沒有為ES設(shè)置用戶名和密碼,查找資料發(fā)現(xiàn)ES會有個默認(rèn)超級用戶elastic,但是需要我們手動為這個用戶設(shè)置密碼。
ES設(shè)置密碼
- 進入容器
使用 docker exec 命令以交互模式(-it)進入正在運行的容器。
docker exec -it elasticsearch /bin/bash
- 在容器內(nèi)執(zhí)行密碼設(shè)置命令
Elasticsearch 提供了內(nèi)置的 elasticsearch-setup-passwords 工具來批量設(shè)置所有內(nèi)置用戶的密碼。
重要提示: 此命令會為所有內(nèi)置用戶(如 elastic, kibana_system, apm_system 等)設(shè)置新密碼。如果你不是首次設(shè)置,它將重置所有密碼(ps:elastic)。
# 使用 interactive (交互) 模式 elasticsearch-setup-passwords interactive
再次安裝驗證
輸入用戶及密碼后,驗證成功
啟動Kibana容器
啟動命令
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 同一個自定義網(wǎng)絡(luò)中。
- -p 5601:5601:將容器的 5601 端口映射到宿主機的 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容器啟動時會訪問
- -e “ELASTICSEARCH_HOSTS=http://elasticsearch:9200”:關(guān)鍵! 這里設(shè)置了 Elasticsearch 的 URL。注意,主機名用的就是 Elasticsearch 容器的名稱 elasticsearch。這是因為在自定義網(wǎng)絡(luò) elastic-net 中,Docker 內(nèi)置的 DNS 服務(wù)會自動將容器名稱解析為其內(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”:啟動時驗證證書
- docker.elastic.co/…:8.11.0:Kibana 的版本必須與 Elasticsearch 的版本一致。
安裝驗證
訪問ES端口,因為開啟了安全認(rèn)證,輸入ES超級用戶elastic的用戶名及密碼即可登錄。
安裝IK分詞器
下載IK分詞器
ik分詞器下載地址
下載版本和ES版本保持一致:8.11.0
安裝
- 直接通過數(shù)據(jù)卷共享將zip文件同步到容器中的掛載點目錄下
- 安裝
bin/elasticsearch-plugin install file:///usr/share/elasticsearch/data/elasticsearch-analysis-ik-8.11.0.zip
驗證
到此這篇關(guān)于docker在自定義網(wǎng)絡(luò)中安裝ElasticSearch和Kibana的步驟的文章就介紹到這了,更多相關(guān)docker安裝ElasticSearch和Kibana內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安裝mysql教程以及解決mysqld: Can‘t read dir&nbs
本文詳細介紹了如何通過Docker來安裝和配置MySQL數(shù)據(jù)庫,包括拉取MySQL鏡像、啟動MySQL容器、配置MySQL、解決常見錯誤等步驟,提供了詳盡的命令和參數(shù)說明,幫助用戶順利完成MySQL的安裝和配置,文中還提到了如何處理MySQL容器啟動時遇到的“無法讀取目錄”2024-10-10docker部署golang http服務(wù)時端口無法訪問的問題解決
本文主要介紹了docker部署golang http服務(wù)時端口無法訪問的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Docker安裝運行apache2服務(wù)器做圖片服務(wù)器的方法
這篇文章主要介紹了Docker安裝運行apache2服務(wù)器做圖片服務(wù)器的方法,需要的朋友可以參考下2017-06-06Docker下安裝Mongo4.2及客戶端工具連接Mongo
這篇文章主要介紹了Docker下安裝Mongo4.2和客戶端工具連接Mongo數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01