下载 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

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐