欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker Dockerfile打包SpringBoot项目为镜像并部署

程序员文章站 2022-06-03 15:52:03
...

前面学习了Docker,今天来打包个项目Demo测试一下Docker在实际生产环境的使用。


修改项目的主pom.xml文件,添加如下插件,如果添加了其他的打包插件请注释掉:

<properties>
    <docker.image.prefix>mistra</docker.image.prefix>
</properties>
...
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>1.3.6</version>
    <configuration>
       <repository>${docker.image.prefix}/${project.artifactId}</repository>
        <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>

cd到项目根目录下

  • ./mvnw clean 先清除一下
  • ./mvnw package 打包项目为jar包
  • ls 查看,顺利的话就生成了target文件夹
  • cd 进入target查看生成的jar包
    Docker Dockerfile打包SpringBoot项目为镜像并部署

  • touch Dockerfile 在项目根目录下创建文件Dockerfile,跟target目录同一级
    Docker Dockerfile打包SpringBoot项目为镜像并部署

  • vi Dockerfile 编辑文件
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Dockerfile指令的说明可以查看这里:Docker 通过Dockerfile创建自定义镜像

  • 在项目根目录进行打包:./mvnw install dockerfile:build ,可以详细的看到构建过程
    Docker Dockerfile打包SpringBoot项目为镜像并部署

  • docker images 查看刚刚打包好的镜像
    Docker Dockerfile打包SpringBoot项目为镜像并部署
    还可以把自己制作的镜像push到远端仓库,在任何一个系统上pull下来就可以直接部署了。这就是docker强大之处。

  • docker run -p 8080:8080 -t mistra/store:latest 基于此镜像运行一个容器,并添加端口映射

    可以看到项目启动成功
    Docker Dockerfile打包SpringBoot项目为镜像并部署

  • docker ps 查看刚刚启动的容器:

Docker Dockerfile打包SpringBoot项目为镜像并部署
访问:http://localhost:8080/
Docker Dockerfile打包SpringBoot项目为镜像并部署


Docker Dockerfile打包SpringBoot项目为镜像并部署

相关标签: docker dockerfile