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界面进行访问



总结

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

相关文章

  • Dockerfile基础分享

    Dockerfile基础分享

    在Docker中,构建一个自定义镜像共有两种方法,一是通过commit指令构建,二是通过Dockerfile文件构建。今天我们主要来详细探讨下Dockerfile的一些基础。
    2017-01-01
  • Docker 删除镜像的实现

    Docker 删除镜像的实现

    本文主要介绍了Docker 删除镜像的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • docker 安装Consul的教程 (最新版2023)

    docker 安装Consul的教程 (最新版2023)

    ​consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务,内置了服务注册与 发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其 他工具,这篇文章主要介绍了最新版2023 docker 安装Consul,需要的朋友可以参考下
    2023-12-12
  • docker nginx ssl设置的实现步骤

    docker nginx ssl设置的实现步骤

    本文主要介绍了docker nginx ssl设置的实现步骤,使用docker运行nginx,配置代理,和ssl设置,进行https访问,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Docker 环境配置以及问题解决方案

    Docker 环境配置以及问题解决方案

    这篇文章主要介绍了Docker 环境配置以及问题解决方案的相关资料,需要的朋友可以参考下
    2022-11-11
  • 如何解决1130 - Host ‘172.17.0.1‘ is not allowed to connect to this MySQL server的问题

    如何解决1130 - Host ‘172.17.0.1‘ is not allowed to conne

    这篇文章主要介绍了如何解决1130 - Host ‘172.17.0.1‘ is not allowed to connect to this MySQL server的问题,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 用docker搭建selenium grid分布式环境实践之路

    用docker搭建selenium grid分布式环境实践之路

    这篇文章主要介绍了用docker搭建selenium grid分布式环境实践之路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • jenkins如何进行自动化部署

    jenkins如何进行自动化部署

    这篇文章主要介绍了jenkins如何进行自动化部署问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • docker如何安装带postgis插件的postgresql数据库

    docker如何安装带postgis插件的postgresql数据库

    这篇文章主要介绍了docker如何安装带postgis插件的postgresql数据库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 如何进入、退出docker的container实现

    如何进入、退出docker的container实现

    这篇文章主要介绍了如何进入、退出docker的container实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论