docker制作java镜像
DockerfileFROM 192.168.1.2/common/openjdk:1.8MAINTAINER 运维@小兵LABEL description="java"ENV JAVA_OPT="-Xmx640m -Xms640m -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M -Dfile.encoding=utf-8" \SERVICE_PO
·
一、Dockerfile
FROM 192.168.1.2/common/openjdk:1.8
MAINTAINER 运维@小兵
LABEL description="java"
ENV JAVA_OPT="-Xmx640m -Xms640m -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M -Dfile.encoding=utf-8" \
SERVICE_PORT=1100 VERSION=
EXPOSE ${SERVICE_PORT}
WORKDIR /opt
COPY app.jar .
COPY run.sh .
RUN chmod +x run.sh && mkdir -p config
CMD ["bash", "run.sh"]
二、run.sh
便于调试的场景
#!/bin/bash
WORKDIR=$(cd `dirname $0`;pwd)
cd ${WORKDIR}
java -Xbootclasspath/a:./config/ $JAVA_OPT -jar app.jar --server.port=${SERVICE_PORT} > /dev/stdout 2>&1 &
tail -f /dev/stdout
生产环境
参考文章:
K8S容器应用优雅关闭-修复5003 Error
使用exec的方式能够实现K8S容器应用优雅关闭
系统调用exec是以新的进程去代替原来的进程,但进程的PID保持不变。
#!/bin/bash
WORKDIR=$(cd `dirname $0`;pwd)
cd ${WORKDIR}
exec java -Xbootclasspath/a:./config/ $JAVA_OPT -jar app.jar --server.port=${SERVICE_PORT}
更多推荐
已为社区贡献19条内容
所有评论(0)