1. 程式人生 > 實用技巧 >SpringBoot+IDEA+Maven+Docker實現快速打包部署網站

SpringBoot+IDEA+Maven+Docker實現快速打包部署網站

背景:

正常情況下,我們開發完網站,需要打包部署的時候,可以通過maven直接package打包,然後得到jar包之後,拷貝到伺服器,再巴拉巴拉處理後面的部署

有了Docker之後,前面打包依舊,只不過在伺服器步驟時,通過docker快速實現部署

現在,我們可以通過Idea的docker外掛,快速在Idea上實現打包部署,而不需要再登入伺服器去處理。

注意:此文需要前置條件如下

1、開發工具Idea

2、使用Maven管理包

3、CentOS伺服器上需要使用Docker來部署

正文:

1、在伺服器上找到路徑:/lib/systemd/system/docker.service

找到開啟,並修改此檔案

#註釋掉"ExecStart"這一行,並新增下面這一行資訊(相當於修改了ExecStart的內容)

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375  

2、修改完,執行以下命令重啟服務

#重新載入配置檔案
systemctl daemon-reload
#重啟服務
systemctl restart docker.service
#檢視配置的埠號(2375)是否開啟(非必要)
netstat -nlpt  #如果找不到netstat命令,可以先安裝一下這個工具,具體百度

注意:執行完,應該能看到多了一個2375的行

到這邊,伺服器上要做的就結束了,回到IDEA這邊

3、安裝Docker外掛

install之後,按下圖新增一下伺服器資訊

在idea這邊,service下Docker右擊,選擇連線

這樣就已經和伺服器上的docker建立連線了,docker下就能看到一些映象和容器了

4、在pom.xml新增build相關依賴包

為了方便檢視,我把完整的build拷貝過來了,大家拷貝進去後,注意修改兩點:

-1- :<imageName>xxxxx/${project.artifactId}</imageName>,xxx需要修改為你自己的

-2-:<dockerHost>http://139.196.141.79:2375</dockerHost>,IP需要改成自己的

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!--使用docker-maven-plugin外掛-->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <!--將外掛繫結在某個phase執行-->
            <executions>
                <execution>
                    <id>build-image</id>
                    <!--使用者只需執行mvn package ,就會自動執行mvn docker:build-->
                    <phase>package</phase>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--指定生成的映象名,這裡是我們的作者名+專案名-->
                <imageName>xxxxx/${project.artifactId}</imageName>
                <!--指定標籤 這裡指定的是映象的版本,我們預設版本是latest-->
                <imageTags>
                    <imageTag>latest</imageTag>
                </imageTags>
                <!--指定基礎映象jdk1.8-->
                <baseImage>java</baseImage>
                <!--
                映象製作人本人資訊
                <maintainer>[email protected]</maintainer>
                -->
                <!--切換到ROOT目錄-->
                <workdir>/ROOT</workdir>
                <!--檢視我們的java版本-->
                <cmd>["java", "-version"]</cmd>
                <!--${project.build.finalName}.jar是打包後生成的jar包的名字-->
                <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                <!--指定遠端 docker api地址  就是上面的伺服器ip-->
                <dockerHost>http://139.196.141.79:2375</dockerHost>
                <!-- 這裡是複製 jar 包到 docker 容器指定目錄配置 -->
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <!--jar 包所在的路徑  此處配置的 即對應 target 目錄-->
                        <directory>${project.build.directory}</directory>
                        <!--用於指定需要複製的檔案 需要包含的 jar包 ,這裡對應的是 Dockerfile中新增的檔名 -->
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

  

5、最後,通過maven去clean和package

打包後,在映象右擊建立容器

這裡,兩個紅框是必填的,其他隨意

點選OK之後,就能在Containers裡看到剛建立的容器了

6、現在開啟瀏覽器,輸入你網站的地址,測試一下吧~

enjoy it~

新人一枚,如有不對,請多多包含~