先上案例1:
# Set the base image to centos
FROM centos
###############################################################
# Dockerfile to build java container images
# Based on CentOS
# File Author / Maintainer
###############################################################
MAINTAINER 作者姓名+邮箱地址
RUN mkdir /var/tmp/jdk
COPY jdk-8u301-linux-x64.tar.gz /var/tmp/jdk
RUN tar xzf /var/tmp/jdk/jdk-8u301-linux-x64.tar.gz -C /var/tmp/jdk
RUN rm -rf /var/tmp/jdk/jdk-8u301-linux-x64.tar.gz
# 将目录中的springboot_demo-1.0-SNAPSHOT.jar复制到容器中
ADD dockerfileTest-1.0-SNAPSHOT.jar app.jar
ENV JAVA_HOME=/var/tmp/jdk/jdk1.8.0_301
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
EXPOSE 8082
ENTRYPOINT ["java","-jar","/app.jar"]
使用dockerfile来部署项目,注意点:
1、按照案例中的 COPY jdk-8u301-linux-x64.tar.gz /var/tmp/jdk,需要将jdk-8u301-linux-x64.tar.gz和项目包dockerfileTest-1.0-SNAPSHOT.jar 放在和Dockerfile的统计目录下
2、构建镜像的命令 docker build -t docdemo:1.1 . (注意命令最后的“.”,这个是要加的,代表着当前目录)
感触:每个镜像就像是一台全新的服务器,将项目部署到一台全新的服务器中需要干的环境部署,都直接通过dockerfile来完成,就可以了。
案例2:
FROM openjdk:8
MAINTAINER 作者姓名+邮箱地址
ADD dockerfileTest-1.0-SNAPSHOT.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java","-jar","/app.jar"]
案例2是基于现有的镜像来进行构建镜像的,因此可以省略部分环境部署
注意步骤:
1、通过 docker search jdk来选择自己想用的jdk环境
2、通过 docker pull java:8 来拉去jdk镜像
3、构建镜像 docker build -t dockerpsttt:1.1 .
4、启动镜像 docker run -d -p 8082:8082 dockerpsttt:1.1