Docker 中安装和配置带用户名和密码保护的 Elasticsearch
创始人
2024-12-17 11:35:12
0

在 Docker 中安装和配置带用户名和密码保护的 Elasticsearch 需要以下步骤。Elasticsearch 的安全功能(包括基本身份验证)在默认情况下是启用的,但在某些版本中可能需要手动配置。以下是详细步骤,包括如何设置用户名和密码。

1. 安装 Docker 和 Docker Compose

确保你的系统已经安装 Docker 和 Docker Compose。如果没有,请参考以下命令进行安装。

对于 Ubuntu:
sudo apt-get update sudo apt-get install -y docker.io docker-compose
对于 CentOS:
sudo yum install -y docker docker-compose 

启动 Docker 服务:

sudo systemctl start docker sudo systemctl enable docker 

2. 下载 Elasticsearch 镜像

从 Docker Hub 拉取 Elasticsearch 镜像:

 docker pull elasticsearch:8.8.2

exit docker stop elasticsearch-temp docker rm elasticsearch-temp 

3. 设置 Elasticsearch 用户名和密码

Elasticsearch 8.x 默认启用了安全功能,包括基本身份验证。你可以使用 elasticsearch-setup-passwords 工具来设置内置用户的密码。

3.1 使用 Docker 启动一个临时的 Elasticsearch 容器
docker run -d --name elasticsearch-temp -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.8.2 
3.2 设置内置用户的密码

等待几秒钟,直到 Elasticsearch 容器启动并准备好。然后,运行以下命令进入容器并设置密码:

docker exec -it elasticsearch-temp /bin/bash

在容器内,运行以下命令:

elasticsearch-setup-passwords interactive 

按照提示为内置用户(如 elastickibana_systemlogstash_system 等)设置密码。设置完成后,记下这些密码,因为你将在配置文件中需要使用它们。

退出并停止临时容器:

exit docker stop elasticsearch-temp docker rm elasticsearch-temp 

4. 创建数据目录

在宿主机上创建一个目录,用于存储 Elasticsearch 数据。例如,创建目录 /path/to/your/esdata

mkdir -p /path/to/your/esdata sudo chown -R 1000:1000 /path/to/your/esdata 

5. 配置 Docker Compose

创建一个 docker-compose.yml 文件,配置 Elasticsearch 服务,并包含用户名和密码配置。

version: '3' services:   elasticsearch:     image: elasticsearch:8.8.2     container_name: elasticsearch     environment:       - discovery.type=single-node       - ELASTIC_PASSWORD=your_elastic_password  # 设置 elastic 用户的密码     ports:       - "9200:9200"       - "9300:9300"     volumes:       - /path/to/your/esdata:/usr/share/elasticsearch/data 

确保将 your_elastic_password 替换为之前设置的 elastic 用户的密码。

6. 启动 Elasticsearch

docker-compose.yml 文件所在目录中运行以下命令启动 Elasticsearch 服务:

docker-compose up -d 

7. 验证 Elasticsearch 连接

使用以下命令验证 Elasticsearch 是否成功启动并配置了用户名和密码:

curl -u elastic:your_elastic_password http://localhost:9200 

你应该会看到类似以下的 JSON 响应:

{   "name" : "your-node-name",   "cluster_name" : "docker-cluster",   "cluster_uuid" : "some-uuid",   "version" : {     "number" : "8.8.2",     ...   },   ... } 

总结

通过以上步骤,你可以在 Docker 中成功安装并配置带用户名和密码保护的 Elasticsearch。使用 Docker Compose 可以更方便地管理和启动服务,并确保数据的持久性。如果需要进一步配置或优化 Elasticsearch,请参考官方文档。

相关内容

热门资讯

透视关于!wpk作弊,wpk德... 透视关于!wpk作弊,wpk德州局怎么透视-一直真的有辅助攻略(哔哩哔哩)1)德州局怎么透视免费钻石...
值得注意的是!免费挂机辅助工具... 值得注意的是!免费挂机辅助工具!真是存在有辅助插件(有挂教学)-哔哩哔哩1、免费挂机辅助工具模拟器是...
透视攻略!wepoker数据分... 透视攻略!wepoker数据分析(透视)辅助工具(真的有挂)-哔哩哔哩1、进入到wepoker数据分...
三分钟了解!wpk透视辅助下载... 三分钟了解!wpk透视辅助下载(透视)辅助神器(本来是真的有挂)-哔哩哔哩1、起透看视 辅助软件价格...
玩家必用!智星德州插件最新版本... 玩家必用!智星德州插件最新版本更新内容详解,wpk辅助器是真的吗,曝光教程(确实有挂)-哔哩哔哩1、...
透视有挂!德普之星私人局辅助器... 透视有挂!德普之星私人局辅助器,德普之星透视免费-其实是有辅助攻略(哔哩哔哩)1、这是跨平台的轻量版...
这一问题亟待解决!微信小程序有... 这一问题亟待解决!微信小程序有挂吗辅助!果然有挂辅助工具(有挂教程)-哔哩哔哩1、完成微信小程序有挂...
透视总结!hhpoker一直输... 透视总结!hhpoker一直输有挂吗(透视)辅助软件(有挂透视)-哔哩哔哩1、hhpoker一直输有...
发现一款!wpk有作弊吗(透视... 发现一款!wpk有作弊吗(透视)辅助开挂(本来是有挂)-哔哩哔哩1、每一步都需要思考,不同水平的挑战...
玩家必看秘籍!WePoKer辅... 玩家必看秘籍!WePoKer辅助器,hhpoker是内部控制吗,专业教程(真的有挂)-哔哩哔哩hhp...