DockerFile文件创建centos:7 配置JDK8的环境变量 与运行springboot的jar包
准备文件
一:官网下载Linux的JDK包
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
二:准备springboot的jar包
springboot项目使用maven的package命令
打开Linux
1.创建一个目录来存放我们的jdk与我们的jar包
我这里在根目录下创建/docker/springboot
2.cd 到我们自己创建的这个目录,将我们的jar包与jdk包放在这个目录下
DockerFile文件编写
#指定操作的镜像 没有提前下载这个docker镜像会比较慢,因为会去下载
FROM centos:7
# 维护者信息
MAINTAINER xiaofu "934226217@qq.com"
# 指定工作目录
WORKDIR /work
#执行命令:创建目录
RUN mkdir -p /work/java/jdk8
RUN mkdir -p /work/jar
# 将下载的jdk包存放在当前目录,然后在add(会解压)到镜像目录
ADD jdk-8u261-linux-x64.tar.gz /work/java/jdk8
# 将springboot的jar包存放在当前目录下,然后add到镜像目录
ADD appJar.jar /work/jar/appJar.jar
# 配置Linux的jdk环境变量 注意:jdk1.8.0_261 这个是jdk-8u261-linux-x64.tar.gz解压后的目录
ENV JAVA_HOME=/work/java/jdk8/jdk1.8.0_261
ENV JRE_HOME=${JAVA_HOME}/jre #java8 可以不用配置这个
ENV CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #java8 可以不用配置这个
ENV PATH=${JAVA_HOME}/bin:$PATH
# 暴露的端口
EXPOSE 8080
# 在容器启动的时候执行,作用于容器层,dockerfile里有多条时只允许执行最后一条
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx512m","-Xms512m","/work/jar/appJar.jar"]
存放jar包与DockerFile文件和jdk包的目录下,在Linux下执行docker命令
构建docker镜像命令
docker build -f ./dockerfilespringboot -t springbootapp:1 .
看到successfully说明构建镜像成功
然后在执行docker 的run命令
docker run -d -p 8088:8080 --name=app springbootapp:1
然后在执行docker日志查看命令
docker logs app
看到这个,恭喜您,成功了.