docker 运行并使用 arthas 的方式
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"]
- 安装
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"]
- 使用
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"]
- 直接使用
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
, 可以去除
来源:oschina
链接:https://my.oschina.net/who7708/blog/3193596