skywalking在docker中应用方式

 更新时间:2023年03月16日 14:21:36   作者: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界面进行访问



总结

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

相关文章

  • docker 查看进程, 内存, cup消耗的情况

    docker 查看进程, 内存, cup消耗的情况

    这篇文章主要介绍了docker 查看进程, 内存, cup消耗的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 浅谈Docker运行Tensorboard和jupyter的方法

    浅谈Docker运行Tensorboard和jupyter的方法

    本篇文章主要介绍了浅谈Docker 运行Tensorboard 和 jupyter的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 使用portainer连接远程docker的教程

    使用portainer连接远程docker的教程

    Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群,这篇文章主要介绍了使用portainer连接远程docker的方法,需要的朋友可以参考下
    2020-03-03
  • Docker匿名挂载和具名挂载的具体使用

    Docker匿名挂载和具名挂载的具体使用

    Docker的挂载是将容器内的目录和宿主机的目录进行绑定,本文主要介绍了Docker匿名挂载和具名挂载的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • K8s集群重启与恢复-Node节点启停方式

    K8s集群重启与恢复-Node节点启停方式

    这篇文章主要介绍了K8s集群重启与恢复-Node节点启停方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • docker服务假死的解决方法

    docker服务假死的解决方法

    工作中使用docker-compose部署容器,有时候会出现使用docker-compose stop或docker-compose down命令想停掉容器,但是依然无法停止或者一直卡顿在停止中的阶段,所以本文给大家介绍了docker服务假死的解决方法,需要的朋友可以参考下
    2023-12-12
  • docker部署java项目的详细步骤

    docker部署java项目的详细步骤

    这篇文章主要介绍了docker部署java项目的详细步骤,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • docker容器内要启动两个进程时Dockerfile的实现代码

    docker容器内要启动两个进程时Dockerfile的实现代码

    这篇文章主要介绍了docker容器内要启动两个进程时Dockerfile的实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker安装方法与Docker四种网络模式详解

    Docker安装方法与Docker四种网络模式详解

    今天小编就为大家分享一篇关于Docker安装方法与Docker四种网络模式的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • docker磁盘空间清理的解决办法

    docker磁盘空间清理的解决办法

    前段时间遇到docker磁盘空间太少,无法写入数据的问题。本文就来介绍一下docker磁盘空间清理的解决办法,感兴趣的可以了解一下
    2021-06-06

最新评论