docker下安裝Elasticsearch設(shè)置賬號密碼的步驟記錄
在 Docker 中安裝 Elasticsearch 并設(shè)置賬號密碼涉及以下步驟:
1. 拉取 Elasticsearch 鏡像
確保你已經(jīng)拉取了 Elasticsearch 的官方鏡像。例如:
docker pull elasticsearch:7.10.2
2. 創(chuàng)建配置文件
在本地創(chuàng)建一個配置文件 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)建一個 users.yml
文件,用于定義用戶的認(rèn)證信息。例如:
# 用戶名: 密碼(加密格式) elastic: hash: $2a$10$f5rEoBvQ5jZnD6GhIuKLmuzF7gqTlPwJ9kXsY8eD9pOcWdQz1AxBc # 示例密碼:elastic
注意:hash
是加密后的密碼。你可以使用在線工具(如 bcrypt)生成 bcrypt 哈希值。
4. 掛載配置文件到 Docker 容器
使用 Docker 運行 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)建用戶和角色。
拉取并運行 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. 驗證賬號密碼是否生效
使用基本認(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 中運行 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安裝ElasticSearch和Kibana的問題及處理方法
這篇文章主要介紹了Docker安裝ElasticSearch和Kibana的問題及遇到問題解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02k3s?通過docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過docker部署?Kubernetes的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Dockerfile中multi-stage(多階段構(gòu)建)詳解
在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡便的多階段構(gòu)建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關(guān)于Dockerfile中multi-stage(多階段構(gòu)建)的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03Docker中Java基礎(chǔ)鏡像OpenJDK和OracleJDK使用方法
OpenJDK是Java社區(qū)的核心項目,由全球各地的開發(fā)者共同參與開發(fā)和維護(hù),OracleJDK在OpenJDK的基礎(chǔ)上添加了一些商業(yè)功能和工具,這篇文章主要給大家介紹了關(guān)于Docker中Java基礎(chǔ)鏡像OpenJDK和OracleJDK使用方法的相關(guān)資料,需要的朋友可以參考下2024-06-06如何批量刪除Docker中已經(jīng)停止的容器的幾種方法
本文主要介紹了批量刪除Docker中已經(jīng)停止的容器的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL
這篇文章主要介紹了docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL,文章內(nèi)容介紹詳細(xì)需要的小伙伴可以參考一下2022-03-03