docker 运行并使用 arthas 的方式

本文详细介绍了在Docker环境下集成和使用Arthas进行Java应用诊断的方法,包括不同方式的Dockerfile配置,如直接使用Arthas镜像、安装tini以及通过ENTRYPOINT设置启动命令。

docker 运行并使用 arthas 的方式

  1. docker run --init
FROM openjdk:8-jdk-alpine

# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas

ENV LOG_PATH=/opt/logs \
    LOG_HOME=/opt/logs/backup

RUN mkdir -p /opt/logs/backup && \
    mkdir -p /opt/apps

ADD target/*.jar /opt/apps/

EXPOSE 8080

ENTRYPOINT ["java", "-XX:+UseG1GC", "-jar", "/opt/apps/spring-boot-demo.jar"]

  1. 安装tini
FROM openjdk:8-jdk-alpine

# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas

ENV LOG_PATH=/opt/logs \
    LOG_HOME=/opt/logs/backup

RUN mkdir -p /opt/logs/backup && \
    mkdir -p /opt/apps && \
    apk add --no-cache tini

ADD target/*.jar /opt/apps/

EXPOSE 8080

ENTRYPOINT ["/sbin/tini", "--", "java", "-XX:+UseG1GC", "-jar", "/opt/apps/spring-boot-demo.jar"]
  1. 使用 sh -c java -jar xxx && 1
FROM openjdk:8-jdk-alpine

# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas

ENV LOG_PATH=/opt/logs \
    LOG_HOME=/opt/logs/backup

RUN mkdir -p /opt/logs/backup && \
    mkdir -p /opt/apps

ADD target/*.jar /opt/apps/

EXPOSE 8080

ENTRYPOINT ["/bin/sh", "-c", "set -e && java -jar /opt/apps/spring-boot-demo.jar && 1"]
  1. 直接使用 hengyunabc/arthas
    tini 方式类似,镜像已安装 tini
FROM hengyunabc/arthas

ENV LOG_PATH=/opt/logs \
    LOG_HOME=/opt/logs/backup

RUN mkdir -p /opt/logs/backup && \
    mkdir -p /opt/apps

ADD target/*.jar /opt/apps/

EXPOSE 8080

ENTRYPOINT ["/sbin/tini", "--", "java", "-XX:+UseG1GC", "-jar", "/opt/apps/spring-boot-demo.jar"]

  • COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas 只是为了集成 arthas, 可以去除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值