您的位置 首页 linux 运维

SkyWalking + Elasticsearch8 容器化部署

SkyWalking + Elasticsearch8 容器化部署

SkyWalking + Elasticsearch8 容器化部署指南:国内镜像加速与生产级调优_skywalking国内镜像-CSDN博客

docker-compose.yml

version: "3.8"

services:
  elasticsearch:
    image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/elasticsearch:8.14.3
    container_name: elasticsearch
    restart: unless-stopped
    environment:
      discovery.type: "single-node"
      xpack.security.enabled: "true"
      xpack.security.http.ssl.enabled: "false"
      xpack.security.transport.ssl.enabled: "false"
      ELASTIC_PASSWORD: "ChangeMe_Elastic!"   # 请改强密码
      ES_JAVA_OPTS: "-Xms3g -Xmx3g"
      TZ: "Asia/Shanghai"
    ulimits:
      memlock: { soft: -1, hard: -1 }
      nofile:  { soft: 65536, hard: 65536 }
    volumes:
      - /media/disk2/elasticsearch/data:/usr/share/elasticsearch/data
      - /media/disk2/elasticsearch/logs:/usr/share/elasticsearch/logs
      # 注意:如果没有复制镜像默认配置且修正权限,则挂载 config 目录会报错
      - /media/disk2/elasticsearch/config:/usr/share/elasticsearch/config
    ports:
      - "9200:9200"
    healthcheck:
      test: ["CMD-SHELL","curl -s -u elastic:ChangeMe_Elastic! http://127.0.0.1:9200 >/dev/null || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 30

  oap:
    image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/skywalking-oap-server:10.2.0
    container_name: skywalking-oap
    restart: unless-stopped
    depends_on:
      elasticsearch:
        condition: service_healthy
    environment:
      SW_STORAGE: elasticsearch
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
      SW_STORAGE_ES_HTTP_PROTOCOL: http
      SW_ES_USER: elastic
      SW_ES_PASSWORD: "ChangeMe_Elastic!"
      JAVA_OPTS: "-Xms2g -Xmx2g"
      TZ: "Asia/Shanghai"
      # 单机/小中规模索引建议
      SW_STORAGE_ES_INDEX_SHARDS_NUMBER: "1"
      SW_STORAGE_ES_INDEX_REPLICAS_NUMBER: "0"
      SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR: "3"
      SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER: "0"
    volumes:
      - /media/disk2/skywalking/oap-logs:/skywalking/logs
    ports:
      - "11800:11800"
      - "12800:12800"
    healthcheck:
      test: ["CMD-SHELL", "curl -s http://127.0.0.1:12800/graphql -X POST -H 'Content-Type: application/json' -d '{\"query\":\"{ version }\"}' | grep -q data || exit 1"]
      interval: 15s
      timeout: 5s
      retries: 20

  ui:
    image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/skywalking-ui:10.2.0
    container_name: skywalking-ui
    restart: unless-stopped
    depends_on:
      - oap
    environment:
      SW_OAP_ADDRESS: "http://oap:12800"
      TZ: "Asia/Shanghai"
    volumes:
      - /media/disk2/skywalking/ui-logs:/skywalking/logs
    ports:
      - "8080:8080"

networks:
  default:
    name: skywalking-net

可选:不硬编码密码的启动方式(不使用 .env)

将 compose 中的 ELASTIC_PASSWORD: ${ES_PASSWORD}、SW_ES_PASSWORD: ${ES_PASSWORD}
启动时传入:ES_PASSWORD='强密码' docker compose up -d
若密码含 $,需写成 $$ 或用上述传参方式避免转义

4. 启动与验证

cd /media/disk2/skywalking-docker

# 预检查渲染
docker compose config | cat

# 启动
docker compose up -d
docker compose ps

# 验证 ES
curl -s -u elastic:ChangeMe_Elastic! http://127.0.0.1:9200 | jq .

# 验证 OAP
curl -s http://127.0.0.1:12800/graphql -X POST -H 'Content-Type: application/json' -d '{"query":"{ version }"}'

# 访问 UI
# http://<服务器IP>:8080

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章