临时一个测试系统需要追一下bug,所以计划单节点部署一套skywalking进行调用链分析。

网上扒拉了几篇,都有点问题,这里单独记录一个。

首先skywalking需要是用es做数据源,当然也有mysql等多个版本,这里用的es。

同时国内镜像现在拉不到了,需要自行换用阿里镜像源。说的docker的镜像源

修改/etc/docker/daemon.json,添加如下配置

{

        "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]

}

请自行换成自己的阿里源,这里是网上提供的,也能用。

然后就是跑docker run了。

创建ES,这里9200和9300要映射出来。

docker run \
-d \
--name='elasticsearch' \
--restart=always \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
--cpuset-cpus="1" \
-m 2G \
elasticsearch:7.6.2
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

创建skywalking-oap

docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.11.17:9200 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server:8.6.0-es7
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

这里Cluster_nodes配置es的地址和端口,需要吧11800和12800开放出来。

创建skywalking-ui。图形管理界面。

docker run \
--name skywalking-ui \
--restart always \
-p 8091:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=192.168.11.17:12800 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-ui:8.6.0
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

oap_address是skywalking的ip和端口。

然后可以访问http://192.168.11.17:8091了

记录一次使用Docker部署skywalking的过程_skywalking

接下来就是打探针进行测试了。明天再说。

这里如果访问有问题,请docker ps看一下具体容器状态。可以docker logs看一下错误信息,针对性处理。

一般没问题。