使用 Docker 安装 Elastic Stack 并重置本地密码

Elastic Stack(也被称为 ELK Stack)是一个非常强大的工具套件,用于实时搜索、分析和可视化大量数据。Elastic Stack 包括 Elasticsearch、Logstash、Kibana 等组件。本文将展示如何使用 Docker 安装 Elasticsearch 并重置本地用户密码。

### 1. 环境准备

在开始之前,请确保您的系统已经安装了 Docker 和 Docker Compose。如果没有安装,请参考官方文档进行安装:

- [Docker 安装指南](https://docs.docker.com/get-docker/)
- [Docker Compose 安装指南](https://docs.docker.com/compose/install/)

### 2. 下载并运行 Elasticsearch Docker 镜像

首先,我们可以使用 Docker 拉取官方的 ElasticSearch 镜像并启动容器。

```bash
# 拉取官方 ElasticSearch 镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.0
```

接着,我们可以创建一个 Docker 容器并运行 ElasticSearch 实例。

```bash
# 启动一个 Elasticsearch 容器
docker run -d --name elasticsearch \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "ELASTIC_PASSWORD=changeme" \
  docker.elastic.co/elasticsearch/elasticsearch:8.6.0
```

- `-d`:让容器在后台运行。
- `--name elasticsearch`:为容器指定一个名称。
- `-p 9200:9200`:将容器的 9200 端口映射到主机的 9200 端口,Elasticsearch 的默认 HTTP 服务端口。
- `-p 9300:9300`:将容器的 9300 端口映射到主机的 9300 端口,Elasticsearch 的节点间通讯端口。
- `-e "discovery.type=single-node"`:启用单节点模式。
- `-e "ELASTIC_PASSWORD=changeme"`:设置初始的超级用户 `elastic` 的密码。

启动完成后,您可以通过访问 `http://localhost:9200` 来检查 Elasticsearch 是否正常运行。

```bash
# 测试是否能够连接到 Elasticsearch
curl -u elastic:changeme http://localhost:9200
```

### 3. 使用 Docker 配置和重置本地密码

接下来,我们将介绍如何重置本地用户(如 `elastic`)的密码。在 Elasticsearch 中,安全功能是启用的,所以如果您使用默认密码 `changeme`,您可以按照以下步骤更改密码。

#### 步骤 1:进入容器

首先,进入运行中的 Elasticsearch 容器。

```bash
docker exec -it elasticsearch /bin/bash
```

#### 步骤 2:使用 `elasticsearch-reset-password` 工具重置密码

Elasticsearch 提供了一个 `elasticsearch-reset-password` 工具,可以用来重置用户密码。

```bash
# 重置 elastic 用户的密码
bin/elasticsearch-reset-password -u elastic
```

执行命令后,您会看到类似如下的提示:

```bash
This will reset the password of the elastic user to a random value.
Are you sure you want to continue? [y/N]y
```

输入 `y` 继续操作,密码将会被重置,并显示新的密码。

#### 步骤 3:查看重置后的密码

重置成功后,新的密码会显示在控制台中。记住这个密码,稍后用于访问 Elasticsearch。

```bash
# 退出容器
exit
```

### 4. 使用新的密码登录 Elasticsearch

现在,您可以使用新密码登录到 Elasticsearch 实例。

```bash
curl -u elastic:<new-password> http://localhost:9200
```

将 `<new-password>` 替换为您刚刚获得的密码。如果一切正常,您应该会看到类似下面的响应:

```json
{
  "name" : "elasticsearch",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "ABC123",
  "version" : {
    "number" : "8.6.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "ABC123",
    "build_date" : "2025-04-18T12:00:00.000Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "8.6.0",
    "minimum_index_compatibility_version" : "8.6.0"
  },
  "tagline" : "You Know, for Search"
}
```

### 5. 使用 Docker Compose 配置和启动 Elasticsearch

如果你希望使用 Docker Compose 来管理 Elasticsearch 服务,可以创建一个 `docker-compose.yml` 文件来简化管理。

#### 创建 `docker-compose.yml`

```yaml
version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - ELASTIC_PASSWORD=changeme
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    networks:
      - elastic_network

volumes:
  esdata:

networks:
  elastic_network:
    driver: bridge
```

#### 启动服务

```bash
docker-compose up -d
```

然后,您就可以按照之前的步骤重置密码。

### 6. 总结

通过 Docker 安装 Elasticsearch 和重置本地密码非常简单。利用 Docker 的便利性,我们可以快速启动和配置 Elasticsearch。通过 Docker Compose 管理 Elastic Stack 服务,让您的开发和测试环境更加简洁高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/77788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unitest和pytest使用方法

unittest 是 Python 自带的单元测试框架&#xff0c;用于编写和运行可重复的测试用例。它的核心思想是通过断言&#xff08;assertions&#xff09;验证代码的行为是否符合预期。以下是 unittest 的基本使用方法&#xff1a; 1. 基本结构 1.1 创建测试类 继承 unittest.TestC…

git 版本提交规范

Git 提交规范&#xff08;Git Commit Message Convention&#xff09;是为了让项目的提交历史更加清晰、可读、便于追踪和自动化工具解析。常见的规范之一是 Conventional Commits&#xff0c;下面是一个推荐的格式规范&#xff1a; &#x1f31f; 提交信息格式&#xff08;Con…

stat判断路径

int stat(const char *pathname, struct stat *buf); pathname&#xff1a;用于指定一个需要查看属性的文件路径。 buf&#xff1a;struct stat 类型指针&#xff0c;用于指向一个 struct stat 结构体变量。调用 stat 函数的时候需要传入一个 struct stat 变量的指针&#xff0…

学习Docker遇到的问题

目录 1、拉取hello-world镜像报错 1. 检查网络连接 排查: 2. 配置 Docker 镜像加速器(推荐) 具体解决步骤: 1.在服务器上创建并修改配置文件,添加Docker镜像加速器地址: 2. 重启Docker 3. 拉取hello-world镜像 2、删除镜像出现异常 3、 容器内部不能运行ping命令 …

安宝特案例 | AR如何大幅提升IC封装厂检测效率?

前言&#xff1a;如何提升IC封装厂检测效率&#xff1f; 在现代电子产品的制造过程中&#xff0c;IC封装作为核心环节&#xff0c;涉及到复杂处理流程和严格质量检测。这是一家专注于IC封装的厂商&#xff0c;负责将来自IC制造商的晶圆进行保护、散热和导通处理。整个制程繁琐…

【Linux网络与网络编程】07.应用层协议HTTPS

HTTP 协议内容都是按照文本的方式明文传输的&#xff0c;这就导致在传输过程中出现一些被篡改的情况。HTTPS 就是在 HTTP 协议的基础上引入了一个加密层的应用层协议。 1. 基础概念 1.1 加密与解密 加密就是把明文&#xff08;要传输的信息&#xff09;进行一系列变换&#x…

【k8s】PV,PVC的回收策略——return、recycle、delete

PV 和 PVC 的回收策略主要用于管理存储资源的生命周期&#xff0c;特别是当 PVC 被删除时&#xff0c;PV 的处理方式。回收策略决定了 PV 在 PVC 被删除后的行为。 回收策略的类型 Kubernetes 提供了三种主要的回收策略&#xff0c;用于管理 PV 的生命周期&#xff1a; Reta…

2023蓝帽杯初赛内存取证-2

直接使用mimikatz插件来获取用户密码&#xff1a; vol.py --plugin/opt/volatility/plugins -f memdump.mem --profile Win7SP1x64 mimikatz 答案&#xff1a;3w.qax.com

使用dompurify修复XSS跨站脚本缺陷

1. 问题描述 漏洞扫描说有一个低危漏洞&#xff0c;容易被跨站脚本攻击XSS。 2. 使用dompurify修复 DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. 简单来说&#xff0c;我们可以使用 dompurify 处理xss跨站脚本攻击。 2.…

【c语言】指针和数组笔试题解析

一维数组: //数组名a如果既不单独放在sizeof()中&#xff0c;也不与&结合&#xff0c;那么就表示数组首元素的大小 //a一般表示数组首元素地址&#xff0c;只有两种情况表示整个数组&#xff0c;sizeof(arr)表示整个数组的大小&#xff0c;&arr表示数组的地址 int a[]…

机器人进阶---视觉算法(六)傅里叶变换在图像处理中怎么用

傅里叶变换在图像处理中怎么用 傅里叶变换的基本原理应用场景Python代码示例逐行解释总结傅里叶变换在图像处理中是一种重要的工具,它将图像从空间域转换到频域,从而可以对图像的频率特性进行分析和处理。傅里叶变换在图像滤波、图像增强、图像压缩和图像分析等方面都有广泛应…

深度学习与总结JVM专辑(七):垃圾回收器—CMS(图文+代码)

CMS垃圾收集器深度解析教程 1. 前言&#xff1a;为什么需要CMS&#xff1f;2. CMS 工作原理&#xff1a;一场与时间的赛跑2.1. 初始标记&#xff08;Initial Mark&#xff09;2.2. 并发标记&#xff08;Concurrent Mark&#xff09;2.3. 重新标记&#xff08;Remark&#xff09…

数据采集:AI 发展的基石与驱动力

人工智能&#xff08;AI&#xff09;无疑是最具变革性的技术力量之一&#xff0c;正以惊人的速度重塑着各行各业的格局。从智能语音助手到自动驾驶汽车&#xff0c;从精准的医疗诊断到个性化的推荐系统&#xff0c;AI 的广泛应用已深刻融入人们的日常生活与工作的各个层面。而在…

从信息泄露到内网控制

0x01 背景 之前常见用rce、文件上传等漏洞获取webshell&#xff0c;偶然遇到一次敏感信息泄露获取权限的渗透&#xff0c;简单记录一下过程。 0x02 信息泄露 发现系统某端口部署了minio服务&#xff0c;经过探测发现存在minio存储桶遍历 使用利用工具把泄露的文件全部整理一…

《门》凡是过往,皆为序曲。我们的爱,和最初一样

《门》凡是过往&#xff0c;皆为序曲。我们的爱&#xff0c;和最初一样 夏目漱石&#xff0c;本名夏目金之助&#xff0c;笔名漱石&#xff0c;日本近代作家&#xff0c;代表作有《三四郎》《门》《从此以后》《我是猫》《心》《明暗》等。 竺家荣 译 文章目录 《门》凡是过往&…

衡石ChatBI:依托开放架构构建技术驱动的差异化数据服务

在当今数字化浪潮中&#xff0c;企业对数据价值的挖掘和利用需求日益增长。BI&#xff08;商业智能&#xff09;工具作为企业获取数据洞察的关键手段&#xff0c;其技术架构的创新与发展至关重要。衡石科技的Chat BI凭借其独特的开放架构&#xff0c;在BI领域脱颖而出&#xff…

oracle中错误总结

oracle中给表起别名不能用as&#xff0c;用as报错 在 Oracle 数据库中&#xff0c;​​WITH 子句&#xff08;即 CTE&#xff0c;公共表表达式&#xff09;允许后续定义的子查询引用前面已经定义的 CTE​​&#xff0c;但 ​​前面的 CTE 无法引用后面的 CTE​​。这种设计类似…

NLP高频面试题(五十)——大模型(LLMs)分词(Tokenizer)详解

在自然语言处理(NLP)任务中,将文本转换为模型可处理的数字序列是必不可少的一步。这一步通常称为分词(tokenization),即把原始文本拆分成一个个词元(token)。对于**大型语言模型(LLM,Large Language Model,大型语言模型)**而言,选择合适的分词方案至关重要:分词的…

优化WAV音频文件

优化 WAV 音频文件通常涉及 减小文件体积、提升音质 或 适配特定用途&#xff08;如流媒体、广播等&#xff09;。以下是分场景的优化方法&#xff0c;涵盖工具和操作步骤&#xff1a; 一、减小文件体积&#xff08;无损/有损压缩&#xff09; 1. 无损压缩 转换格式&#xff1…

ORACLE SQL输入的变量由于隐式转换无法使用索引的分析优化

近期&#xff0c;某客户在巡检分析AWR报告时&#xff0c;发现有个TOP SQL的执行效率偏慢&#xff0c;检查分析SQL&#xff0c;发现数据块读取量高&#xff0c;分析执行计划&#xff0c;发现有个查询条件未使用到索引&#xff1b; 对执行计划及表上的字段、索引进行分析&#x…