Docker 插件部署继续,这里部署arthas。
老规矩,先放一下官网:
arthas.aliyun.com/doc/install…
有同学可能会奇怪,为啥要使用docker-compose来部署arthas呢?arthas就是一个jar包,下载直接使用java –jar 运行即可。
但是呢,我的Springboot项目有点多,我就不折腾arthas了。我这里使用的是:Arthas Tunnel
文档地址:
arthas.aliyun.com/doc/tunnel.…
通过 Arthas Tunnel Server/Client 来远程管理/连接多个 Agent。
这里主要记录docker-conmpose部署Arthas Tunnel。
一:下载jar包
二:创建Dockerfile
# FROM openjdk:11.0.15-slim-buster
FROM openjdk:11-jre
WORKDIR /app/
COPY arthas-tunnel-server-3.7.3-fatjar.jar /app/app.jar
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && mkdir /app/data && mkdir /app/logs
# 注意命令中的$PARAMS docker-compose使用需要替换成用户自己的参数PARAMS
CMD ["sh","-c","java -jar -server $JAVA_OPTS /app/app.jar $PARAMS"]
重要的部分都有注释,参考即可。
三:将Dockerfile打包成镜像,并上传到阿里云的容器镜像仓库
1:登录阿里云镜像仓库
docker login --username=805795955@qq.com registry.cn-zhangjiakou.aliyuncs.com
2:创建镜像(registry.cn-zhangjiakou.aliyuncs.com/camellias/arthas-tunnel-server:v3.7.3:这是镜像名称)
docker build -t registry.cn-zhangjiakou.aliyuncs.com/camellias/arthas-tunnel-server:v3.7.3 .
3:将镜像上传至阿里云镜像仓库
docker push registry.cn-zhangjiakou.aliyuncs.com/camellias/arthas-tunnel-server:v3.7.3
四:使用docker-compose.yml部署arthas-tunnel
1:docker-compose.yml:
version: '3'
services:
arthas-tunnel-server:
environment:
# 开放管理页面有风险!管理页面没有安全拦截功能,务必自行增加安全措施(这个参数在Dockerfile中设置的)
PARAMS: '--arthas.enable-detail-pages=true --spring.cache.type=redis --arthas.embedded-redis.enabled=true --spring.redis.host=1.15.157.156 --spring.redis.port=6379 --spring.redis.password=xxxxx '
volumes:
- /opt/docker/arthas/:/data/ # 持久化存储数据
restart: always
# image: registry.cn-shanghai.aliyuncs.com/wanfei/arthas-tunnel-server:v1
image: registry.cn-zhangjiakou.aliyuncs.com/camellias/arthas-tunnel-server:v3.7.3
# image: alibaba/arthas-tunnel-server:latest
container_name: arthas-tunnel-server
ports:
- 9080:8080
- 7777:7777
注意docker-compose.yml中的注释。
为了避免占用8080端口,修改为9080
arthas.enable-detail-pages=true:开发管理页面,默认是false,不开放访问 http://127.0.0.1:9080/apps.html 获取不到所有连接应用
运行容器:
docker compose up -d
如果你修改了docker-compose.yml对应的参数之后,使用如下命令即可重启而不用删除已存在的容器:
docker compose up --force-recreate -d
2:PARAMS中相关的参数
下载源码包,下载地址:github.com/alibaba/art…
下载完成之后解压,找到如下图所示的配置文件:application.properties
application.properties:
# arthas tunnel server host
arthas.server.host=0.0.0.0
# arthas tunnel server port
arthas.server.port=7777
# for all endpoints
management.endpoints.web.exposure.include=*
# default user name
spring.security.user.name=arthas
# If set to true, be sure to do security protection to ensure that the server will not be illegally accessed
arthas.enable-detail-pages=false
spring.cache.type=caffeine
spring.cache.cache-names=inMemoryClusterCache
spring.cache.caffeine.spec=maximumSize=3000,expireAfterAccess=3600s
#arthas.embedded-redis.enabled=true
#arthas.embedded-redis.settings=maxmemory 128M
#spring.redis.host=127.0.0.1
从这个配置文件中我们就可以找到对应的配置了。
最后 ,浏览器访问:
如下图所示:
最后:开放管理页面有风险!管理页面没有安全拦截功能,务必自行增加安全措施!
以上大概就是docker-compose部署arthas的全过程。
有好的建议,请在下方输入你的评论。