SpringBoot+IDEA+Maven+Docker實現快速打包部署網站
阿新 • • 發佈:2020-09-15
背景:
正常情況下,我們開發完網站,需要打包部署的時候,可以通過maven直接package打包,然後得到jar包之後,拷貝到伺服器,再巴拉巴拉處理後面的部署
有了Docker之後,前面打包依舊,只不過在伺服器步驟時,通過docker快速實現部署
現在,我們可以通過Idea的docker外掛,快速在Idea上實現打包部署,而不需要再登入伺服器去處理。
注意:此文需要前置條件如下
1、開發工具Idea
2、使用Maven管理包
3、CentOS伺服器上需要使用Docker來部署
正文:
1、在伺服器上
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~
新人一枚,如有不對,請多多包含~