jattach 还是一直在更新的,而且目前也支持openj9 了同时对于容器也有了更好的支持
让我们可以更好的使用一个轻量工具实现 jmap+jcmd+jstack+jinfo 的能力 (而且不需要安装jdk)
而且目前还包含了直接基于软件包进行安装
tomcat java 容器
容器没有包含jdk
FROM tomcat:9.0.56-jre8-openjdk-slim-buster
COPY jattach /usr/bin/jattach
RUN chmod +x /usr/bin/jattach
使用
- 环境准备
version: '3'
services:
app:
build: ./
image: dalongrong/tomcat:9.0.56-jre8-openjdk-slim-buster-jattach
ports:
- "8080:8080"
- 使用
直接使用jattach包含的命令进行java 应用分析
docker-compose up -d
docker-compose exec app sh
jattach 1 jcmd Thread.print
说明
以上是一个容器包含jattach的简单集成,使用jattach 替换jdk 是一个很不错的选择(可以减小我们的容器镜像)