以下是 Docker 安装 Elasticsearch 的详细步骤及配置建议:

1. 拉取 Elasticsearch 镜像

docker pull elasticsearch:7.17.0  # 以 7.17.0 版本为例(版本号可替换)

提示:推荐使用官方镜像 docker.elastic.co/elasticsearch/elasticsearch 或 Docker Hub 的 elasticsearch 镜像。

2. 创建挂载目录并配置权限

mkdir -p /usr/local/es/{data,config,plugins}
chmod -R 777 /usr/local/es  # 确保容器有读写权限
echo "http.host: 0.0.0.0" > /usr/local/es/config/elasticsearch.yml  # 允许所有 IP 访问

注意:目录权限不足可能导致启动失败。

3. 启动 Elasticsearch 容器

docker run -d \
  --name es \
  --restart=always \
  -p 9200:9200 -p 9300:9300 \  # 映射 HTTP 和集群通信端口
  -e "discovery.type=single-node" \  # 单节点模式
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \  # JVM 最小/最大内存(需≥512MB)
  -v /usr/local/es/data:/usr/share/elasticsearch/data \  # 数据持久化
  -v /usr/local/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
  -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \  # 插件目录
  --privileged \
  elasticsearch:7.17.0

关键参数说明:

  • discovery.type=single-node:单节点部署必填;
  • ES_JAVA_OPTS:内存不足会导致启动失败(默认 1GB,可调低但需≥512MB);
  • privileged:赋予容器访问设备权限。

4. 验证安装是否成功

访问 http://localhost:9200(宿主机 IP),若返回 JSON 格式的节点信息(含 "tagline":"You Know, for Search"),则安装成功。


常见问题处理

  • 启动失败:检查日志 docker logs es,常见问题包括目录权限不足或内存过小。
  • 跨域配置:在 elasticsearch.yml 中添加:
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
Logo

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

更多推荐