docker下安裝Elasticsearch設置賬號密碼的步驟記錄
在 Docker 中安裝 Elasticsearch 并設置賬號密碼涉及以下步驟:
1. 拉取 Elasticsearch 鏡像
確保你已經拉取了 Elasticsearch 的官方鏡像。例如:
docker pull elasticsearch:7.10.2
2. 創(chuàng)建配置文件
在本地創(chuàng)建一個配置文件 elasticsearch.yml,用于啟用安全功能并設置基本認證。
示例內容如下:
# 啟用安全功能
xpack.security.enabled: true
# 設置默認的管理員用戶名和密碼(如果需要)
xpack.security.authc.realms.file1:
order: 0
file: ${ES_HOME}/config/users.yml
注意:Elasticsearch 7.x 及以上版本默認啟用了安全功能,但你可以通過上述配置文件進一步調整。
3. 創(chuàng)建用戶賬戶和密碼
在本地創(chuàng)建一個 users.yml 文件,用于定義用戶的認證信息。例如:
# 用戶名: 密碼(加密格式) 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 中,進入 “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. 驗證賬號密碼是否生效
使用基本認證訪問 Elasticsearch:
curl -u elastic:ElasticPassword http://localhost:9200
如果返回正常的 JSON 響應,則說明賬號密碼配置成功。
8. 持久化數據和日志(可選)
為了防止容器重啟后數據丟失,可以將 Elasticsearch 的數據目錄和日志目錄掛載到宿主機:
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
總結
通過上述步驟,你可以在 Docker 中運行 Elasticsearch 并啟用賬號密碼認證。默認情況下,Elasticsearch 7.x 及以上版本已經啟用了安全功能,但你需要通過配置文件和用戶管理工具(如 Kibana 或 REST API)來設置具體的用戶和權限。
如果你需要進一步增強安全性,可以考慮:
- 啟用 HTTPS
- 配置防火墻規(guī)則
- 使用更復雜的密碼策略
到此這篇關于docker下安裝Elasticsearch設置賬號密碼的文章就介紹到這了,更多相關docker安裝es設置賬號密碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker安裝ElasticSearch和Kibana的問題及處理方法
這篇文章主要介紹了Docker安裝ElasticSearch和Kibana的問題及遇到問題解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02
k3s?通過docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過docker部署?Kubernetes的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-11-11
Dockerfile中multi-stage(多階段構建)詳解
在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡便的多階段構建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關于Dockerfile中multi-stage(多階段構建)的相關資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。2018-03-03
Docker中Java基礎鏡像OpenJDK和OracleJDK使用方法
OpenJDK是Java社區(qū)的核心項目,由全球各地的開發(fā)者共同參與開發(fā)和維護,OracleJDK在OpenJDK的基礎上添加了一些商業(yè)功能和工具,這篇文章主要給大家介紹了關于Docker中Java基礎鏡像OpenJDK和OracleJDK使用方法的相關資料,需要的朋友可以參考下2024-06-06
docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL
這篇文章主要介紹了docker創(chuàng)建centos容器并在容器里下載MySQL本地連接MySQL,文章內容介紹詳細需要的小伙伴可以參考一下2022-03-03

