[skywalking] 构造 java 镜像

参考:

Docker Hub

前言

  官方的镜像虽然可以直接用,但是实际使用的,需要使用中文的utf-8,时区等需要设置

实例

         用到了JDK包,和skywalking需要提前准备,或者直接from 官方的skywalking包做改动即可

JAVA_TOOL_OPTIONS : java默认会获取该环境参数运行

### Dockerfile

FROM centos:7
MAINTAINER zewei XXXXXX@s.cn
WORKDIR /usr/local/docker

ADD openlogic-openjdk-8u262-b10-linux-x64.tar.gz /usr/local/docker
COPY skywalking /skywalking
COPY run.sh /home/ways/

ENV JAVA_HOME=/usr/local/docker/openlogic-openjdk-8u262-b10-linux-64
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
ENV LANG=zh_CN.UTF-8
ENV AGENT_HOME=/skywalking
ENV JAVA_TOOL_OPTIONS='-javaagent:/skywalking/agent/skywalking-agent.jar -XX:MaxRAMFraction=1 -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/home/logs'
ENV JAVA_VERSION=jdk-8u262-b10
ENV JAVA_JAR_PATH=/home/target/app.jar

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
        && echo 'Asia/Shanghai' >/etc/timezone \
        && yum -y install kde-l10n-Chinese \
        && yum -y reinstall glibc-common \
        && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 \
        && echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf \
        && source /etc/locale.conf \
        && yum clean all
ENV LC_ALL zh_CN.utf8
WORKDIR /home/
#CMD ["/bin/sh","/home/ways/run.sh"]
CMD ["/bin/sh"]

## run.sh 

if [ "${EXTRA_JAVA_OPTS}" ]; then
  export JAVA_OPTS="${JAVA_OPTS} ${EXTRA_JAVA_OPTS}"
fi

if [ "${EXTRA_JAVA_TOOL_OPTIONS}" ]; then
  export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS} ${EXTRA_JAVA_TOOL_OPTIONS}"
fi

echo '======================='
echo "jvm运行相关参数,添加ENV: EXTRA_JAVA_TOOL_OPTIONS 可附加参数"
echo JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS}
echo "jar包运行相关参数 添加ENV: EXTRA_JAVA_OPTS 可附加参数"
echo JAVA_OPTS=${JAVA_OPTS}
echo "执行jar包路径"
echo JAVA_JAR_PATH=${JAVA_JAR_PATH}

echo '======================='


echo java ${JAVA_TOOL_OPTIONS} -XshowSettings:vm -jar ${JAVA_JAR_PATH} ${JAVA_OPTS}
java ${JAVA_TOOL_OPTIONS} -XshowSettings:vm -jar ${JAVA_JAR_PATH} ${JAVA_OPTS}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值