docker部署SkyWalking+ES
为了在Docker中部署SkyWalking和Elasticsearch(ES),你需要创建一个docker-compose.yml
文件,它定义了SkyWalking和Elasticsearch服务的配置。以下是一个简化的例子:
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.0
environment:
- http.host=0.0.0.0
- transport.host=localhost
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- "9200:9200"
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
interval: 30s
timeout: 10s
retries: 5
restart: on-failure
skywalking-oap:
image: apache/skywalking-oap-server:8.3.0
environment:
- TZ=Asia/Shanghai
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200
depends_on:
- elasticsearch
ports:
- "11800:11800"
- "12800:12800"
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:12800/health || exit 1"]
interval: 30s
timeout: 10s
retries: 5
restart: on-failure
volumes:
esdata1:
driver: local
这个docker-compose.yml
文件定义了两个服务:elasticsearch
和skywalking-oap
。Elasticsearch服务使用官方的Elasticsearch镜像,并将数据卷挂载到本地以保持数据。SkyWalking OAP服务设置环境变量来指定Elasticsearch作为存储,并且依赖于Elasticsearch服务。
在具有Docker和Docker Compose的机器上,运行以下命令来启动服务:
docker-compose up -d
该命令将在后台启动服务。你可以通过访问http://<host>:12800
来检查SkyWalking OAP服务的健康状况,通过访问http://<host>:9200
来检查Elasticsearch服务的健康状况。
请根据你的实际环境调整配置,例如内存限制、版本号以及持久化存储配置。
评论已关闭