docker 打包springboot鏡像並啟動


1.使用maven將項目打成一個包含所有的jar包

 

 

 

2.pom.xml中包含即可通過mvn clean package 就可以打成可執行jar包

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<configuration>

<fork>true</fork>

<mainClass>com.org.Application</mainClass>

<layout>ZIP</layout>

 

</configuration>

<executions>

<execution>

<goals>

<goal>repackage</goal>

</goals>

<!-- 分離出代碼包

<configuration>

<classifier>exec</classifier>

</configuration>

-->

</execution>

</executions>

</plugin>

</plugins>

</build>

 

3.將打成的jar包和一個DockerFile文件放入安裝了docker的環境

 

 

 

 

DockerFile內容為:

 

 

 

#指定依賴的鏡像

FROM java:8-alpine

#springboot tomcat掛載的目錄

VOLUME /tmp

#容器使用端口

EXPOSE 9002

#添加jar包入容器

ADD start-apply-service-1.0-SNAPSHOT.jar app.jar

#改名

RUN sh -c 'touch /app.jar'

#容器啟動java

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

 

------------------------------簡化版DockerFile配置-----------------------------------------

FROM java:8-alpine

EXPOSE 9002

ADD start-apply-service-1.0-SNAPSHOT.jar /app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

-------------------------------end---------------------------------------------

 

4.執行 docker build -t springboot:2.0 . #最后的"."指的是DockerFile文件的當前路徑,springboot 為鏡像名,2.0為tag,build 就是構建的意思。

5.執行上述命名 即可通過docker images 看到 我們生成的鏡像

 

 

 

6. docker run -d -p 9002:9002 springboot:2.0 #啟動自定義容器

7.docker logs --tail=200 2915c40fdcdf #查看容器啟動日志

 

 

 

8.本地嘗試訪問

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM