背景:
正常情況下,我們開發完網站,需要打包部署的時候,可以通過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>bruceliu@email.com</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~
新人一枚,如有不對,請多多包含~

