docker下安裝Elasticsearch設(shè)置賬號密碼的步驟記錄
在 Docker 中安裝 Elasticsearch 并設(shè)置賬號密碼涉及以下步驟:
1. 拉取 Elasticsearch 鏡像
確保你已經(jīng)拉取了 Elasticsearch 的官方鏡像。例如:
docker pull elasticsearch:7.10.2
2. 創(chuàng)建配置文件
在本地創(chuàng)建一個(gè)配置文件 elasticsearch.yml,用于啟用安全功能并設(shè)置基本認(rèn)證。
示例內(nèi)容如下:
# 啟用安全功能
xpack.security.enabled: true
# 設(shè)置默認(rèn)的管理員用戶名和密碼(如果需要)
xpack.security.authc.realms.file1:
order: 0
file: ${ES_HOME}/config/users.yml
注意:Elasticsearch 7.x 及以上版本默認(rèn)啟用了安全功能,但你可以通過上述配置文件進(jìn)一步調(diào)整。
3. 創(chuàng)建用戶賬戶和密碼
在本地創(chuàng)建一個(gè) users.yml 文件,用于定義用戶的認(rèn)證信息。例如:
# 用戶名: 密碼(加密格式) elastic: hash: $2a$10$f5rEoBvQ5jZnD6GhIuKLmuzF7gqTlPwJ9kXsY8eD9pOcWdQz1AxBc # 示例密碼:elastic
注意:hash 是加密后的密碼。你可以使用在線工具(如 bcrypt)生成 bcrypt 哈希值。
4. 掛載配置文件到 Docker 容器
使用 Docker 運(yùn)行 Elasticsearch,并掛載本地的 elasticsearch.yml 和 users.yml 文件到容器中。
示例命令:
docker run -p 9200:9200 -p 9300:9300 \ --name elasticsearch-security \ -v /path/to/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /path/to/users.yml:/usr/share/elasticsearch/config/users.yml \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:7.10.2
5. 使用 Kibana 創(chuàng)建用戶(可選)
如果你啟用了 Elasticsearch 的安全功能,可以通過 Kibana 創(chuàng)建用戶和角色。
拉取并運(yùn)行 Kibana:
docker run -p 5601:5601 --link elasticsearch-security:kibana_elasticsearch --name kibana elasticsearch/kibana:7.10.2
打開瀏覽器,訪問
http://localhost:5601。在 Kibana 中,進(jìn)入 “Management” -> “Security” -> “Users”,創(chuàng)建新的用戶和密碼。
6. 通過 API 創(chuàng)建用戶(可選)
如果你不想使用 Kibana,也可以通過 Elasticsearch 的 REST API 創(chuàng)建用戶。例如:
curl -X POST http://localhost:9200/_security/user/admin \
-H "Content-Type: application/json" \
-u elastic:ElasticPassword \
-d '{
"username": "admin",
"password": "Admin@123",
"roles": ["superuser"]
}'
7. 驗(yàn)證賬號密碼是否生效
使用基本認(rèn)證訪問 Elasticsearch:
curl -u elastic:ElasticPassword http://localhost:9200
如果返回正常的 JSON 響應(yīng),則說明賬號密碼配置成功。
8. 持久化數(shù)據(jù)和日志(可選)
為了防止容器重啟后數(shù)據(jù)丟失,可以將 Elasticsearch 的數(shù)據(jù)目錄和日志目錄掛載到宿主機(jī):
docker run -p 9200:9200 -p 9300:9300 \ --name elasticsearch-security \ -v /path/to/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /path/to/users.yml:/usr/share/elasticsearch/config/users.yml \ -v /path/to/es-data:/usr/share/elasticsearch/data \ -v /path/to/es-logs:/usr/share/elasticsearch/logs \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:7.10.2
總結(jié)
通過上述步驟,你可以在 Docker 中運(yùn)行 Elasticsearch 并啟用賬號密碼認(rèn)證。默認(rèn)情況下,Elasticsearch 7.x 及以上版本已經(jīng)啟用了安全功能,但你需要通過配置文件和用戶管理工具(如 Kibana 或 REST API)來設(shè)置具體的用戶和權(quán)限。
如果你需要進(jìn)一步增強(qiáng)安全性,可以考慮:
- 啟用 HTTPS
- 配置防火墻規(guī)則
- 使用更復(fù)雜的密碼策略
到此這篇關(guān)于docker下安裝Elasticsearch設(shè)置賬號密碼的文章就介紹到這了,更多相關(guān)docker安裝es設(shè)置賬號密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過程
Docker容器使得應(yīng)用程序的部署和管理變得更加簡單和高效,有時(shí),我們可能需要將一個(gè)運(yùn)行中的Docker容器打包,并在其他服務(wù)器上運(yùn)行,本文將詳細(xì)介紹如何實(shí)現(xiàn)這一過程,需要的朋友可以參考下2024-05-05
Docker本地部署Drupal并實(shí)現(xiàn)公網(wǎng)訪問的詳細(xì)步驟
Drupal是使用PHP語言編寫的開源內(nèi)容管理框架(CMF),它由內(nèi)容管理系統(tǒng)(CMS)和PHP開發(fā)框架(Framework)共同構(gòu)成,這篇文章主要給大家介紹了關(guān)于Docker本地部署Drupal并實(shí)現(xiàn)公網(wǎng)訪問的詳細(xì)步驟,需要的朋友可以參考下2023-12-12
Docker部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問的操作方法
MinIO是一個(gè)開源的軟件,可以免費(fèi)使用,還可以在普通硬件上運(yùn)行,降低了存儲(chǔ)成本,本文介紹在本地Docker中部署MinIO服務(wù),并實(shí)現(xiàn)遠(yuǎn)程訪問管理界面,節(jié)約云服務(wù)器運(yùn)行成本,感興趣的朋友一起看看吧2023-12-12
Docker-compose 建立ELK集群的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker-compose 建立ELK集群的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Docker掛載/etc/timezone報(bào)錯(cuò)問題
這篇文章主要介紹了Docker掛載/etc/timezone報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Mysql 在 Docker 中的時(shí)區(qū)問題記錄
Mysql 時(shí)區(qū)一般是跟著系統(tǒng)走的,而在 Docker 中安裝 Mysql 默認(rèn)時(shí)區(qū)是 UTC,下面介紹,創(chuàng)建Docker容器前、后,分別如何設(shè)置 Mysql 時(shí)區(qū),感興趣的朋友跟隨小編一起看看吧2024-07-07
Docker 打包 K8s鏡像的應(yīng)用實(shí)例
文章介紹了如何使用Docker打包和部署Kubernetes鏡像,包括準(zhǔn)備工作、創(chuàng)建Dockerfile、構(gòu)建鏡像、測試運(yùn)行、推送鏡像、Kubernetes部署文件示例、部署到Kubernetes等步驟,并提供了注意事項(xiàng)和最佳實(shí)踐,感興趣的朋友一起看看吧2025-03-03
如何批量刪除Docker中已經(jīng)停止的容器的幾種方法
本文主要介紹了批量刪除Docker中已經(jīng)停止的容器的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

