下载 Elasticsearch 镜像

从 Docker Hub 获取官方 Elasticsearch 镜像,推荐使用指定版本以避免兼容性问题。执行以下命令拉取镜像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.0

创建 Docker 网络

为 Elasticsearch 和后续组件(如 Kibana)创建专用网络,确保容器间通信:

docker network create elastic

启动 Elasticsearch 容器

运行以下命令启动单节点 Elasticsearch 容器,配置内存限制并启用安全功能:

docker run -d \
  --name elasticsearch \
  --net elastic \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
  -e "xpack.security.enabled=true" \
  docker.elastic.co/elasticsearch/elasticsearch:8.12.0

获取初始密码

若启用了安全功能(xpack.security.enabled=true),初始密码会生成在容器日志中。执行以下命令查看:

docker logs elasticsearch | grep "Password for the elastic user"

验证安装

访问 http://localhost:9200 进行验证,使用以下命令测试(需替换实际密码):

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

重置密码(可选)

若需要重置 elastic 用户密码,进入容器内部执行:

docker exec -it elasticsearch /bin/bash
bin/elasticsearch-reset-password -u elastic

数据持久化配置

为保留数据,需挂载卷到容器。停止并删除现有容器后,重新运行:

docker run -d \
  --name elasticsearch \
  --net elastic \
  -p 9200:9200 \
  -p 9300:9300 \
  -v es_data:/usr/share/elasticsearch/data \
  -e "discovery.type=single-node" \
  docker.elastic.co/elasticsearch/elasticsearch:8.12.0

生产环境建议

  • 多节点部署时需修改 discovery.typecluster.initial_master_nodes
  • 调整 ES_JAVA_OPTS 参数分配更多内存
  • 使用 -v 挂载自定义配置文件(如 elasticsearch.yml
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐