docker-compose部署es8.7.1
时间: 2025-06-11 19:16:17 浏览: 16
### 使用 Docker Compose 部署 Elasticsearch 8.7.1
以下是关于如何通过 `docker-compose` 文件来部署 Elasticsearch 8.7.1 的详细说明:
#### 创建 `docker-compose.yaml` 文件
创建一个新的 YAML 文件并命名为 `docker-compose-elasticsearch.yaml`,其内容应如下所示:
```yaml
version: '3.8'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:8.7.1
container_name: es01
environment:
- node.name=es01
- discovery.type=single-node
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
networks:
- elastic
volumes:
esdata01:
driver: local
networks:
elastic:
driver: bridge
```
此配置文件定义了一个单节点的 Elasticsearch 实例[^1]。
#### 启动 Elasticsearch 容器
执行以下命令启动容器:
```bash
docker-compose -f docker-compose-elasticsearch.yaml up -d
```
这会以后台模式运行指定的服务,并将其分离到后台操作中。
#### 复制证书 (如果需要 SSL/TLS 支持)
默认情况下,Elasticsearch 8.x 版本启用了 TLS/SSL 加密支持。为了获取 CA 证书以便客户端连接验证,可以使用以下命令将证书从容器复制到主机上:
```bash
docker cp $(docker ps -q --filter name=es01):/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/
```
这里假设容器名是 `es01`,实际名称可能因项目路径不同而有所变化[^2]。
#### 查看容器状态和服务端口监听情况
可以通过以下命令确认容器是否正常运行以及服务是否有绑定到预期端口:
```bash
docker ps
netstat -ntlp | grep 9200
```
上述命令分别用于显示当前活动中的容器列表及其对应的网络端口映射详情[^3]。
---
### 注意事项
- **内存限制**:确保宿主机有足够的可用资源分配给 Elasticsearch 进程;通常建议至少提供 4GB RAM 给 JVM 堆大小设置。
- **多节点集群扩展**:对于生产环境下的高可用架构设计,则需进一步调整参数以适应分布式场景需求[^4]。
阅读全文
相关推荐















