常用java项目Dockerfile
#基础镜像
FROM 192.168.2.78:5000/library/centos-jdk:1.8.275
#作者
MAINTAINER gthree@gmail.com
#执行命令,主要用来安装相关的软件
#添加文件
ADD target/dc-integration-svc-1.0-SNAPSHOT.jar /usr/local/dc-integration-svc.jar
#环境变量设置
ENV JAVA_OPTS="-server -Xms2g -Xmx6g -XX:+UseG1GC -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512M -XX:-UseContainerSupport -XX:HeapDumpPath=/data/ly-bd-dc-integration-heapdump.hprof -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom"
#挂载目录到容器
VOLUME ["/data"]
#环境变量设置
#ENV #开放端口
EXPOSE 15622
#使用脚本启动,不用命令,解决docker容器父进程是1的问题,
RUN echo 'java ' $JAVA_OPTS ' -jar /usr/local/dc-integration-svc.jar' > /usr/local/start-dc-integration-svc.sh
RUN chmod u+x /usr/local/start-ly-bd-dc-integration-svc.sh
#必须使用exec 模式 否则会有两个 sh 进程
ENTRYPOINT ["/bin/bash", "/usr/local/start-dc-integration-svc.sh"]
评论区