docker-打包jdk以及jar包

Docker打包JDK以及jar包
一、创建jdk镜像[dockerhub应该是有的,无需自己创建]:
1> 下载基础镜像:

docker pull centos:7.2.1511

2> 下载JDK jdk-8u171-linux-x64.tar.gz[tar -zxvf jdk-8u171-linux-x64.tar.gz 解压包与3中的Dockerfile文件同目录]
3> 创建Dockerfile文件:

   FROM centos:7.2.1511
   RUN mkdir /usr/java
   RUN mkdir /usr/java/jdk1.8.0_171
   COPY ./jdk1.8.0_171/ /usr/java/jdk1.8.0_171
   ENV JAVA_HOME=/usr/java/jdk1.8.0_171
   ENV CLASS_PATH=.:$JAVA_HOME/lib
   ENV PATH=$PATH:$JAVA_HOME/bin

4> 进入 Dockerfile 所在目录进行构建:
docker build -t jdk8:base . // jdk8:base 代表 REPOSITORY=jdk8 TAG=base
5> docker images 查看镜像
6> 进入镜像并查看JDK是否安装成功:
docker run -ti --entrypoint=bash jdk8:base [如执行一次无法进入,继续执行第二次]
java -version [进入镜像后]

二、基于JDK镜像项目打包: 创建Dockerfile

   FROM jdk8:base[JDK镜像]
   COPY ./项目名.jar[服务器jar包路径] /项目名.jar[镜像jar包路径]
   ENV JAVA_OPTS=""
   #设置时区
   RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
   RUN sh -c echo 'Asia/Shanghai' >/etc/timezone 
   ENTRYPOINT [ "sh", "-c", "java -Dfile.encoding=utf-8 $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /项目名.jar" ]

你可能感兴趣的:(运维,后端)