如何使用docker进行java入门级开发

如何使用docker进行java入门级开发,第1张

前言

skywalking是个非常不错的apm产品,但是在使用过程中有个非常蛋疼的问题,在基于es的存储情况下,es的数据一有问题,就会导致整个skywalking web ui服务不可用,然后需要agent端一个服务一个服务的停用,然后服务重新部署后好,全部走一遍。这种问题同样也会存在skywalking的版本升级迭代中。而且apm 这种过程数据是允许丢弃的,默认skywalking中关于trace的数据记录只保存了90分钟。故博主准备将skywalking的部署容器化,一键部署升级。下文是整个skywalking 容器化部署的过程。

目标:将skywalking的docker镜像运行在k8s的集群环境中提供服务

docker镜像构建

FROMregistrycn-xxxxcom/keking/jdk:18ADDapache-skywalking-apm-incubating/  /opt/apache-skywalking-apm-incubating/RUNln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime \

    && echo 'Asia/Shanghai' >/etc/timezone \

    && chmod +x /opt/apache-skywalking-apm-incubating/config/setApplicationEnvsh \

    && chmod +x /opt/apache-skywalking-apm-incubating/webapp/setWebAppEnvsh \

    && chmod +x /opt/apache-skywalking-apm-incubating/bin/startupsh \

    && echo "tail -fn 100 /opt/apache-skywalking-apm-incubating/logs/webapplog" >> /opt/apache-skywalking-apm-incubating/bin/startupshEXPOSE8080 10800 11800 12800CMD/opt/apache-skywalking-apm-incubating/config/setApplicationEnvsh \

    && sh /opt/apache-skywalking-apm-incubating/webapp/setWebAppEnvsh \

    && /opt/apache-skywalking-apm-incubating/bin/startupsh

在编写Dockerfile时需要考虑几个问题:skywalking中哪些配置需要动态配置(运行时设置)?怎么保证进程一直运行(skywalking 的startupsh和tomcat中 的startupsh类似)?

applicationyml

#cluster:#  zookeeper:#    hostPort: localhost:2181#    sessionTimeout: 100000naming:jetty:#OS real network IP(binding required), for agent to find collector clusterhost:0000port:10800contextPath:/cache:#  guava:caffeine:remote:gRPC:# OS real network IP(binding required), for collector nodes communicate with each other in cluster collectorN --(gRPC) --> collectorMhost:#real_hostport:11800agent_gRPC:gRPC:#os real network ip(binding required), for agent to uplink data(trace/metrics) to collector agent--(grpc)--> collectorhost:#real_hostport:11800# Set these two setting to open ssl#sslCertChainFile: $path#sslPrivateKeyFile: $path# Set your own token to active auth#authentication: xxxxxxagent_jetty:jetty:# OS real network IP(binding required), for agent to uplink data(trace/metrics) to collector through >

以上就是关于如何使用docker进行java入门级开发全部的内容,包括:如何使用docker进行java入门级开发、java怎么识别当前运行环境是docker、Linux下docker基础环境搭建等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9784284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存