
dockerkun/elasticsearch-icu-kuromojiElasticsearch Docker 镜像是官方提供的容器化部署方案,用于快速搭建 Elasticsearch 搜索引擎实例。该镜像基于轻量级 Linux 发行版构建,包含完整的 Elasticsearch 运行环境,支持单节点部署和分布式集群配置,适用于开发、测试和生产环境。
bashdocker run -d \ --name elasticsearch \ -p 9200:9200 \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:8.11.3
bash# 检查容器状态 docker ps | grep elasticsearch # 验证服务可用性 curl http://localhost:9200 # 预期响应(包含集群名称、版本等信息) { "name" : "container-id", "cluster_name" : "docker-cluster", "cluster_uuid" : "...", "version" : { ... }, "tagline" : "You Know, for Search" }
yamlversion: '3.8' services: es01: image: elasticsearch:8.11.3 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - ES_JAVA_OPTS=-Xms1g -Xmx1g - xpack.security.enabled=false # 生产环境建议启用 volumes: - esdata01:/usr/share/elasticsearch/data ports: - "9200:9200" networks: - elastic es02: image: elasticsearch:8.11.3 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - ES_JAVA_OPTS=-Xms1g -Xmx1g - xpack.security.enabled=false volumes: - esdata02:/usr/share/elasticsearch/data networks: - elastic es03: image: elasticsearch:8.11.3 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - ES_JAVA_OPTS=-Xms1g -Xmx1g - xpack.security.enabled=false volumes: - esdata03:/usr/share/elasticsearch/data networks: - elastic volumes: esdata01: esdata02: esdata03: networks: elastic: driver: bridge
bashdocker-compose up -d
bashcurl http://localhost:9200/_cluster/health?pretty # 预期响应(status 为 green 表示集群健康) { "cluster_name" : "es-docker-cluster", "status" : "green", "timed_out" : false, "number_of_nodes" : 3, "number_of_data_nodes" : 3, ... }
| 环境变量 | 描述 | 默认值 |
|---|---|---|
discovery.type | 节点发现模式,单节点设置为 single-node | multi-node |
cluster.name | 集群名称 | docker-cluster |
node.name | 节点名称 | 容器 ID |
ES_JAVA_OPTS | Java 虚拟机参数,建议设置为 -Xms512m -Xmx512m(生产环境建议至少 2G) | 自动计算 |
network.host | 绑定网络接口,0.0.0.0 允许外部访问 | 127.0.0.1 |
xpack.security.enabled | 是否启用安全功能(用户名密码认证) | true(8.x+) |
Elasticsearch 数据需持久化存储,通过 Docker 卷挂载实现:
bashdocker run -d \ --name elasticsearch \ -v esdata:/usr/share/elasticsearch/data \ ... \ elasticsearch:8.11.3
8.x 版本默认启用安全功能,首次启动需获取自动生成的密码:
bash# 获取初始密码(elastic 用户) docker exec -it elasticsearch bin/elasticsearch-reset-password -u elastic
启用安全后访问需认证:
bashcurl -u elastic:密码 http://localhost:9200
ES_JAVA_OPTS 中 Xms 和 Xmx 设置为相同值,且不超过主机内存的 50%vm.max_map_count=262144),详情参考 官方文档_snapshot API 创建数据备份

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务