Docker Dockerfile打包SpringBoot專案為映象並部署
阿新 • • 發佈:2018-12-23
前面學習了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 檢視剛剛啟動的容器: