运行 Grafana Docker 镜像

参考:

Docker镜像不属于Apache官方发布包,在此提供仅为了方便用户使用。

Base, https://hub.docker.com/r/apache/skywalking-base
SkyWalking OAP Server, https://hub.docker.com/r/apache/skywalking-oap-server
SkyWalking UI, https://hub.docker.com/r/apache/skywalking-ui

2.1、Docker 镜像启动

从版本6.6.0起,我们将oap图像分为两个标签xyz -es6 和 xyz -es7。顾名思义,它es6打算连接到 Elasticsearch 6 和 es7 Elasticsearch 7。

该latest标记指向es6

启动standalone带有H2存储的容器

$ docker run --name oap --restart always -d apache/skywalking-oap-server

指定 standalone 用容器 elasticsearch 贮存,其地址为elasticsearch:9200

$ docker run --name oap --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server
2.2、变量说明
  • SW_CLUSTER:默认值为 standalone
可用值 说明
standalone 如果设置此值,则cluster.standalonein application.yml中的所有环境变量均可用。
zookeeper 如果设置此值,则cluster.zookeeperin application.yml中的所有环境变量均可用。
kubernetes 如果设置此值,则cluster.kubernetesin application.yml中的所有环境变量均可用。
consul 如果设置此值,则cluster.consulin application.yml中的所有环境变量均可用。
etcd 如果设置此值,则cluster.etcdin application.yml中的所有环境变量均可用。
nacos 如果设置此值,则cluster.nacosin application.yml中的所有环境变量均可用。
  • SW_STORAGE: 默认值为 h2
可用值 说明
h2 如果设置此值,则storage.h2in application.yml中的所有环境变量均可用。
elasticsearch 如果设置此值,则stroage.elasticsearchin application.yml中的所有环境变量均可用。
mysql 如果设置此值,则stroage.mysqlin application.yml中的所有环境变量均可用。
  • SW_CONFIGURATION

默认值为 none

可用值 说明
apollo 如果设置此值,则configuration.apolloin application.yml中的所有环境变量均可用。
nacos 如果设置此值,则configuration.nacosin application.yml中的所有环境变量均可用。
zookeeper 如果设置此值,则configuration.zookeeperin application.yml中的所有环境变量均可用。
  • SW_TELEMETRY

默认值为none

可用值 说明
none 如果设置此值,则telemetry.nonein application.yml中的所有环境变量均可用。
prometheus 如果设置此值,则configuration.prometheusin application.yml中的所有环境变量均可用。
so11y 如果设置此值,则configuration.so11yin application.yml中的所有环境变量均可用。
  • XXX_ENABLED

还有一些其他配置切换器可扩展默认配置,它们也有一个后缀_ENABLED。

可用值 说明
SW_RECEIVER_ZIPKIN_ENABLED 打开/关闭zipkin接收器
SW_RECEIVER_JAEGER_ENABLED 打开/关闭Jaeger接收器
SW_EXPORTER_ENABLED 打开/关闭出口商
SW_L0AD_CONFIG_FILE_FROM_VOLUME 如果要采用专用的application.yaml而不是docker-entrypoint.sh生成的application.yaml。应该设置为true。

docker-compose 的方式

docker 和 docker-compose 的安装不是本文的重点,所以有需要可以自行查询。

以下操作会启动三个容器

  1. elasticsearch 作为 skywalking 的存储,保存链路和日志数据等
  2. oap 数据接收和分析 Observability Analysis Platform
  3. ui web端的数据展示
# 创建配置文件保存的目录
mkdir -p /data/docker/admin/skywalking
# 切换到刚创建的目录
cd /data/docker/admin/skywalking
# 将下面的 docker-compose.yml 文件保存到这个目录
vi docker-compose.yml
# 拉去镜像并启动
docker-compose up -d
# 查看日志
docker-compose logs -f

docker-compose.yml

version: '3.8'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.1
    container_name: elasticsearch
    restart: always
    ports:
      - 9200:9200
    healthcheck:
      test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - TZ=Asia/Shanghai
    ulimits:
      memlock:
        soft: -1
        hard: -1
  oap:
    image: apache/skywalking-oap-server:8.7.0-es7
    container_name: oap
    depends_on:
      - elasticsearch
    links:
      - elasticsearch
    restart: always
    ports:
      - 11800:11800
      - 12800:12800
    healthcheck:
      test: ["CMD-SHELL", "/skywalking/bin/swctl"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    environment:
      TZ: Asia/Shanghai
      SW_STORAGE: elasticsearch7
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
  ui:
    image: apache/skywalking-ui:8.13.0
    container_name: ui
    depends_on:
      - oap
    links:
      - oap
    restart: always
    ports:
      - 8088:8080
    environment:
      TZ: Asia/Shanghai
      SW_OAP_ADDRESS: http://oap:12800
作者:Jeebiz  创建时间:2023-01-04 13:52
最后编辑:Jeebiz  更新时间:2023-04-12 12:19