1. 程式人生 > >Docker Dockerfile打包SpringBoot專案為映象並部署

Docker Dockerfile打包SpringBoot專案為映象並部署

前面學習了Docker,今天來打包個專案Demo測試一下Docker在實際生產環境的使用。

  • 先找一個你本地能執行的SpringBoot專案
  • 安裝了Maven(這裡用Maven構建jar包)

修改專案的主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包
    這裡寫圖片描述

  • touch Dockerfile 在專案根目錄下建立檔案Dockerfile,跟target目錄同一級
    這裡寫圖片描述

  • 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"]
  • 在專案根目錄進行打包:./mvnw install dockerfile:build ,可以詳細的看到構建過程
    這裡寫圖片描述

  • docker images 檢視剛剛打包好的映象
    這裡寫圖片描述
    還可以把自己製作的映象push到遠端倉庫,在任何一個系統上pull下來就可以直接部署了。這就是docker強大之處。

  • docker run -p 8080:8080 -t mistra/store:latest 基於此映象執行一個容器,並新增埠對映

    可以看到專案啟動成功
    這裡寫圖片描述

  • docker ps 檢視剛剛啟動的容器:

這裡寫圖片描述