构建一个Java应用的Docker镜像

构建一个Java应用的Docker镜像

文章目录

    • 构建一个Java应用的Docker镜像
        • 1、在项目代码打成jar包:demo-docker.jar
        • 2、创建Dockerfile文件
        • 3、构建镜像
        • 4、查看docker镜像

假设Java应用名为 docker-demo

1、在项目代码打成jar包:demo-docker.jar

# 这里我用mvn来打包
# -Dmaven.test.skip=true --- 跳过检查
mvn package -Dmaven.test.skip=true

2、创建Dockerfile文件

在jar包同一路径下创建文件,命名为:Dockerfile,内容是:

# FROM --- 获取基础镜像base image
# RUN --- 类似于执行 linux指令
# COPY --- 类似于linux copy指令      
# EXPOSE --- 声名容器对外暴露的端口
# CMD --- 执行命令 java -jar /opt/app/demo-docker.jar
FROM adoptopenjdk/openjdk8:latest 
RUN mkdir /opt/app  
COPY demo-docker.jar /opt/app/ 
EXPOSE 80
CMD ["java", "-jar", "/opt/app/demo-docker.jar"] 

3、构建镜像

# build --- 创建镜像的命令
# -t --- 指定target 名称
# docker-demo:0.0.1 --- 镜像名称:tag
# . --- 意为在当前目录下寻找 Dockerfile文件
docker build -t docker-demo:0.0.1 .

执行过程中,docker会先自动拉取Dockerfile中指定的基础镜像 adoptopenjdk/openjdk8:latest,然后依次执行Dockerfile命令最终完成镜像构建。

4、查看docker镜像

docker image ls

会看到两个镜像:一个是基础镜像 adoptopenjdk/openjdk8 ,一个是应用镜像 docker-demo。

[root@dev ~]# docker image ls
REPOSITORY                         TAG     IMAGE ID        CREATED         SIZE
fabric8/java-jboss-openjdk8-jdk    latest  478a5e48e154    3 months ago    557MB
docker-demo                        0.0.1   0c3c77626bf     1 hours ago     372MB

至此,应用镜像构建成功!!!

你可能感兴趣的:(Docker)