springboot項目通過jar包部署到docker


第一步

開放2375端口

項目中pom設置<build>
   <finalName>eureka</finalName>
   <plugins>
       <!--      maven打包插件      -->        <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
           <!-- 作用:項目打成jar的同時將本地jar包也引入進去 -->            <configuration>
               <includeSystemScope>true</includeSystemScope>
           </configuration>
       </plugin>
       <plugin>
           <groupId>com.spotify</groupId>
           <artifactId>docker-maven-plugin</artifactId>
           <version>1.2.2</version>
           <!--將插件綁定在某個phase執行-->            <executions>
               <execution>
                   <id>build-image</id>
                   <!--將插件綁定在package這個phase上。也就是說,                    用戶只需執行mvn package ,就會自動執行mvn docker:build-->                    <phase>package</phase>
                   <goals>
                       <goal>build</goal>
                   </goals>
               </execution>
           </executions>
           <configuration>
               <!--指定生成的鏡像名,這里是我們的項目名-->                <imageName>${project.artifactId}</imageName>
               <!--指定標簽 這里指定的是鏡像的版本,我們默認版本是latest-->                <forceTags>true</forceTags>
               <imageTags>
                   <imageTag>latest</imageTag>
               </imageTags>
               <!--注意 修改成遠程服務器地址-->                <dockerDirectory>docker</dockerDirectory>
               <dockerHost>http://192.160.26.118:2375</dockerHost>
               <resources>
                   <resource>
                       <targetPath>/</targetPath>
                       <directory>${project.build.directory}</directory>
                       <include>${project.build.finalName}.jar</include>
                   </resource>
               </resources>
           </configuration>
       </plugin>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>

           <configuration>
               <source>13</source>
               <target>13</target>
           </configuration>
       </plugin>
   </plugins>
</build>同時刪除resources 下的Dockerfie。

第二步

image.png接着執行圖中的步驟。然后在項目中的target找到jar包,將該JAR包上傳到linux上

第三步

在該目錄下創建Dockerfile 文件

     vi Dockerfile

 然后將下面的內容復制到Dockerfile文件中

FROM openjdk:13

MAINTAINER yufeng

ADD eureka.jar zzzeureka.jar

EXPOSE 8800

ENTRYPOINT ["java","-jar","zzzeureka.jar"]這里from后面跟的jdk版本一定要正確,筆者先從hub.docker.com上找到openjdk的正確名字,然后再加到from后面。這里配置也要和pom中

<artifactId>eureka</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eureka</name>name版本一一對應

第四步

輸入命令開始構建docker build -t eureka .。遇到

ADD failed: stat /var/lib/docker/tmp/docker-builderXXXXXX: no such file or dir可以考慮把找不到的東西放在與Dockerfile同一個目錄下就可以了

第五步

鏡像構建成功之后,就可以運行容器了:docker run -d -p 8800:8800 --name eurekai  d5194e8e07b7。

image.png

 

 


免責聲明!

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



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