返回顶部
首页 > 资讯 > 服务器 >使用 docker部署tomcat并接入skywalking的使用
  • 734
分享到

使用 docker部署tomcat并接入skywalking的使用

2024-04-02 19:04:59 734人浏览 安东尼
摘要

目录一、概述二、使用 Docker 部署 Tomcat 并接入 skywalking总结一、概述 上一篇文章介绍了使用 docker 部署 Spring Boot 并接入 skywa

一、概述

上一篇文章介绍了使用 docker 部署 Spring Boot 并接入 skywalking,其中描述了使用 docker-compose 搭建 skywalking,这一篇文章就不介绍 skywalking 的搭建了,这里主要记录一下使用 docker 部署一个 tomcat 并接入 skywalking 进行服务链路追踪。

二、使用 docker 部署 tomcat 并接入 skywalking

关于如何将 tomcat 应用接入 skywalking 官网有如下描述:

详细信息可以查看官网:skywalking agent 官网

linux Tomcat 7 / Tomcat 8
tomcat/bin/catalina.sh第一行添加以下内容:


CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS

windows Tomcat 7 / Tomcat 8
在tomcat/bin/catalina.bat第一行添加以下内容:


set "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

jar File 或 spring Boot
在应用程序的启动命令行中添加 -javaagent 参数:


java -javaagent:<skywalking-agent-path> -jar yourApp.jar

注意-javaagent参数一定要在-jar参数之前。

由于我这里是使用 docker 部署 tomcat ,所以不打算修改 tomcat/bin/catalina.sh文件,而且查看tomcat/bin/catalina.sh文件,有如下描述:

image.png

在下图中定义了读取 setenv.sh 的脚本:

image.png

意思是:不要在catalina.sh这个脚本中设置变量,为了让你的自定义变量分离,应该把自定义的环境变量放在CATALINA_BASE/bin/setenv.sh 文件中,除此之外,经过我测试发现,可以直接使用环境变量的方式进行设置,下面我将以两者方式的配置进行说明。

1、将自定义的变量写在 setenv.sh 文件中

首先我们需要下载 skywalking agent,关于下载 agent 可以查看本文开头的文章,之后将agent 放在一个可以访问的目录,我这里是测试,所以将 agent 目录复制到了我的 Dockerfile 的同级目录,其中 Dockerfile 的内容如下:


FROM tomcat

LABEL maintaner="xiniao"

COPY agent /usr/skywalking/agent

WORKDIR /usr/local/tomcat/bin

RUN echo 'CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar";' > setenv.sh

ENV SW_AGENT_NAME="my-spring-demo" \
    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

WORKDIR /usr/local/tomcat/WEBapps/ROOT

COPY target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

关于 skywalking agent 的其他配置,则可以通过环境变量的方式进行定义,比如这里指定了 skywalking 中显示的服务名为 ENV SW_AGENT_NAME="my-spring-demo" 以及 skywalking 的后端服务地址 SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800",我们访问 skywalking ui 可以看到如下图所示内容:

image.png

2、使用环境变量指定 skywalking agent 的路径

详细的 Dockerfile 内容如下:


FROM tomcat

LABEL maintaner="xiniao"

COPY agent /usr/skywalking/agent

ENV CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar" \
    SW_AGENT_NAME="my-spring-demo-env" \
    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

WORKDIR /usr/local/tomcat/webapps/ROOT

COPY target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

使用如下命令构建镜像:


docker build -t my-spring-demo .

使用如下命令运行容器


docker run --rm -p 8080:8080 my-spring-demo

访问 skywalking ui 可以看到监控的信息如下:

image.png

总结

这里主要介绍了使用 docker 部署 toMact 并接入 skywalking 的使用,因为在网上并没有查到太多相关的信息,所以这里记录下来,需要对有需求的小伙伴提供一些帮助。这里还是存在一些问题,比如这里 skywalking agent 直接打到镜像文件里面并不友好,个人觉得可以自定义一个 tomcat 的基础镜像,并将 skywalking agent 打到基础镜像中,这样所有的 tomcat 引用这个基础镜像来构建镜像,就可以实现接入 skywalking。如果是使用 k8s 部署的话,可以在 pod 中定义一个初始容器,在 pod 启动时,将初始容器中的 skywalking agent 复制到我们的应用中,关于如何在 k8s 使用 skywalking,并且无侵入的将 pod 的应用接入 skywalking ,我将在下一篇文章中介绍。

到此这篇关于使用 docker部署tomcat并接入skywalking的使用的文章就介绍到这了,更多相关 docker部署tomcat接入skywalking内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用 docker部署tomcat并接入skywalking的使用

本文链接: https://lsjlt.com/news/124053.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用 docker部署tomcat并接入skywalking的使用
    目录一、概述二、使用 docker 部署 tomcat 并接入 skywalking总结一、概述 上一篇文章介绍了使用 docker 部署 spring boot 并接入 skywa...
    99+
    2024-04-02
  • 如何使用docker部署tomcat并接入skywalking
    这篇文章将为大家详细讲解有关如何使用docker部署tomcat并接入skywalking,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、概述使用 docker 部署 spring boot 并接入 s...
    99+
    2023-06-14
  • 怎么使用docker部署spring boot并接入skywalking
    小编给大家分享一下怎么使用docker部署spring boot并接入skywalking,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、概述最近在研究skyw...
    99+
    2023-06-14
  • 使用docker部署spring boot并接入skywalking的方法
    目录一、概述1、skywalking简介2、skywalking架构 3、skywalking如何自动上报数据二、使用docker-compose安装skywalking-...
    99+
    2024-04-02
  • Docker中怎么部署并使用Go
    这篇文章主要讲解了“Docker中怎么部署并使用Go”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker中怎么部署并使用Go”吧!Go 是一个开源的编程语言,它能让构造简单、可靠且高效...
    99+
    2023-06-27
  • docker如何部署tomcat应用
    要部署Tomcat应用程序,您可以按照以下步骤在Docker中使用Tomcat镜像:1. 首先,您需要安装Docker。请根据您的操...
    99+
    2023-08-17
    docker tomcat
  • 如何使Docker自动部署Apache Tomcat
    这篇文章主要介绍如何使Docker自动部署Apache Tomcat,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!介绍本文会讲述:扩展Tomcat的官方Dockerfile构建新的镜像从修改过的新镜像启动容器在容器里...
    99+
    2023-06-07
  • docker如何在mac-m1芯片部署并启用tomcat
    目录手把手教你使用docker在mac-m1芯片部署并启用tomcat1,下载docker并安装2,配置docker的阿里云加速器(也可以配置其他加速器)3,下载tomcat镜像4,...
    99+
    2023-03-23
    docker部署启用tomcat docker mac-m1芯片部署
  • docker怎么在mac-m1芯片部署并启用tomcat
    这篇“docker怎么在mac-m1芯片部署并启用tomcat”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker怎么...
    99+
    2023-07-05
  • 使用Docker-compose部署mysql
    前言 虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将"启动脚本"写好的...
    99+
    2023-09-03
    docker mysql 容器 Powered by 金山文档
  • 使用docker部署hbase的方法
    单机hbase,先说在前面。 安装docker 先输入docker -v,装过就不用再装了。 yum update #更新(询问输入y) yum install -y yu...
    99+
    2024-04-02
  • 使用docker、docker-compose部署微服务
    使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和doc...
    99+
    2023-08-30
    docker 微服务 容器
  • 怎么使用docker部署hbase
    这篇文章将为大家详细讲解有关怎么使用docker部署hbase,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装docker先输入docker -v,装过就不用再装了。yum update&nb...
    99+
    2023-06-14
  • 如何使用Docker部署Confluence
    这篇文章主要为大家展示了“如何使用Docker部署Confluence”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Docker部署Confluence”这篇文章吧。一、环境要求已安装d...
    99+
    2023-06-15
  • 如何使用Docker部署Node.js
    这篇文章主要介绍“如何使用Docker部署Node.js”,在日常操作中,相信很多人在如何使用Docker部署Node.js问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2022-12-02
    docker node.js
  • 使用 Docker Compose 部署 MySQL 8.0
    大家好!今天我们来讨论一下如何使用 Docker Compose 部署 MySQL 8.0。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它使得管理和部署复杂的应用程序变得更加简单。 MySQL 8...
    99+
    2023-08-24
    docker mysql
  • 使用SpringBoot打jar包并部署到Tomcat详细步骤
    详细步骤 首先在pom.xml文件中做一些修改: 之前打war包需要修改打包方式,这次不需要了,因为默认就是 jar 包指定最终打成jar包的名称手动指定 resources 文件...
    99+
    2024-04-02
  • docker部署tomcat应用的步骤是什么
    下面是部署Tomcat应用的一般步骤:1. 安装Docker:首先,在服务器上安装Docker。具体安装方法可以参考Docker官方...
    99+
    2023-10-20
    docker tomcat
  • Skywalking简单入门使用
    🏆今日学习目标: 🍀Skywalking简单入门使用 ✅创作者:林在闪闪发光 ⏰预计时间:50分钟 🎉个人主页:林在闪闪发光的个人主页  🍁林在闪闪发光的个人社区,欢迎你的加入...
    99+
    2023-08-31
    skywalking java 开发语言
  • 如何使用 Golang 构建 RESTful API 并部署到 Docker?
    在 golang 中构建 restful api,部署到 docker:创建 golang 项目并定义数据结构。编写 api 处理程序,定义路由并启动 http 服务器。创建 docke...
    99+
    2024-05-15
    golang git docker
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作