要通过Docker Compose安装SkyWalking 8.1.0并配合Elasticsearch 7.5进行链路监控,你需要准备一个docker-compose.yml
文件来定义服务容器及其配置。以下是一个基本的示例配置:
version: '3.8' # Docker Compose版本
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0
container_name: elasticsearch
environment:
- cluster.name=skywalking-es-cluster
- xpack.security.enabled=false
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es_data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
skywalking-oap:
image: apache/skywalking-oap-server:8.1.0
container_name: skywalking-oap
environment:
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
SW_OAP_SERVER_PORT: 12800
expose:
- "12800"
depends_on:
- elasticsearch
skywalking-ui:
image: apache/skywalking-ui:8.1.0
container_name: skywalking-ui
ports:
- "8080:8080"
environment:
SW_OAP_ADDRESS: http://skywalking-oap:12800
depends_on:
- skywalking-oap
volumes:
es_data:
注意事项:
- Elasticsearch 7.x版本和SkyWalking之间的兼容性需要根据SkyWalking官方文档中推荐的版本进行确认。
- 环境变量
SW_STORAGE
设置为elasticsearch7
表示使用Elasticsearch 7.x作为存储后端。 SW_STORAGE_ES_CLUSTER_NODES
指向Elasticsearch的服务地址,这里假设是在同一个网络下直接通过容器名访问。- 根据实际情况调整内存分配给Elasticsearch (
ES_JAVA_OPTS
),确保容器有足够的内存运行。 - SkyWalking OAP Server (
skywalking-oap
) 的端口映射以及与UI (skywalking-ui
) 的连接需正确配置。
启动步骤:
- 将上述
docker-compose.yml
内容保存到本地文件中。 - 运行
docker-compose up -d
来启动并部署所有服务。 - 等待服务完全启动(可能需要几分钟时间等待Elasticsearch初始化完成)。
- 在浏览器中访问SkyWalking UI,默认地址为:
http://localhost:8080
。
在实际部署过程中,请务必检查官方文档以获取最新的配置指南和兼容性信息。