docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > skywalking在docker中应用

skywalking在docker中应用方式

作者:AlexClownfish

这篇文章主要介绍了skywalking在docker中应用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

准备工作

下载源码包,下面会用到agent

https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz

拉取镜像

docker pull elasticsearch:7.5.1
docker pull apache/skywalking-oap-server:6.6.0-es7
docker pull apache/skywalking-ui:6.6.0

安装elasticsearch

修改系统参数

vi /etc/sysctl.conf

vm.max_map_count=262144 #调整参数

sysctl -p #刷新参数

启动elasticsearch

docker run -d --name=es7 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" elasticsearch:7.5.1

创建持久化目录 并拷贝数据

mkdir -p /data/elasticsearch
docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
docker rm -f es7

docker-compose编排部署es,skywalking

创建编排文件

cd /data && touch docker-compose.yml
tar -zxvf apache-skywalking-apm-6.6.0.tar.gz  #解压源码以便后续使用agent

编辑编排文件

version: '3'
networks:
  cq-data-security:  ##我这里选择了已有网卡,与我java项目网卡一致可以容器之间相互通信,具体需求看自己
    external: true
services:
  es7:
    image: elasticsearch:7.5.1
    container_name: es7
    expose:
      - 9200
      - 9300
    restart: always
    volumes:
      - /data/elasticsearch/data:/usr/share/elasticsearch/data
      - /data/elasticsearch/logs:/usr/share/elasticsearch/logs
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
      - discovery.type=single-node
    networks:
      cq-data-security:
        ipv4_address: 172.62.0.51

  skywalking-oap-server:
    image: apache/skywalking-oap-server:6.6.0-es7
    container_name: skywalking-oap-server
    expose:
      - 12800
      - 11800
    privileged: true
    restart: always
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
      - SW_STORAGE=elasticsearch
      - SW_STORAGE_ES_CLUSTER_NODES=172.62.0.51:9200
    networks:
      cq-data-security:
        ipv4_address: 172.62.0.52

  skywalking-ui:
    image: apache/skywalking-ui:6.6.0
    container_name: skywalking-ui
    ports:
      - 28080:8080
    privileged: true
    restart: always
    environment:
      - SW_OAP_ADDRESS=172.62.0.52:12800
    networks:
      cq-data-security:
        ipv4_address: 172.62.0.53

docker-compose up -d 直接启动即可

访问localhost:28080 ui访问

agent部署

cd /data 
cp -r apache-skywalking-apm-bin/agent /你的项目目录/dockerfile所在目录
#编辑dockerfile将以下参数加入dockerfile
RUN mkdir /root/agent
COPY ./agent /root/agent

#修改java应用启动参数

java -javaagent:/root/agent/skywalking-agent.jar=agent.service_name=group_module -Dskywalking.collector.backend_service=172.62.0.52:11800 -jar /root/group-module-1.0-SNAPSHOT.jar --server.port=8890

至此客户端和服务端部署完成,可以打开ui界面进行访问



总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文