歡迎您光臨本站 註冊首頁

Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細步驟

←手機掃碼閱讀     wooen @ 2020-07-06 , reply:0

Linux+Docker+SpringBoot+IDEA一鍵自動化部署的步驟

記錄從打包到服務器配置上線全流程

安裝docker

詳細步驟請戳這裡

用yum源安裝用yum源安裝
 查看是否已安裝docker列表

yum list installed | grep docke

安裝docker

yum -y install docker

-y表示不詢問安裝,直到安裝成功,安裝完後再次查看安裝列表

開放2375端口,開啟遠程訪問

vim /usr/lib/systemd/system/docker.service

這行:

ExecStart=/usr/bin/dockerd-current

替換為:

ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重新加載docker配置

  systemctl daemon-reload // 1,重新加載配置文件  systemctl restart docker // 2,重啟docker

 

查看端口是否開啟

netstat -nptl

直接curl看是否生效

curl http://127.0.0.1:2375/version

雖然開放此端口打包程序很方便,但是會導致一些安全問題,因此 可以限制訪問IP來解決,在雲服務器中設置安全組即可

IDEA鏈接docker

第一步,遠程鏈接docker:

在這裡插入圖片描述

成功後可見:

在這裡插入圖片描述

打鏡像包

大致流程如下,採用maven綁定的方式進行打包鏡像,然後根據該鏡像建立一個docker容器,啟動容器,即可
 首先我們先創建一個DockerFile,路徑參考:

在這裡插入圖片描述

DockerFile文件內容如下:

  FROM java:8  VOLUME /tmp  #docker-day1-1.0.jar為項目打包為jar包的名字,app.jar為別名  ADD docker-day1-1.0.jar app.jar  #運行的時候對外提供的端口默認是8090,即便你在這裡聲明瞭3000也不會改變默認的端口8090  EXPOSE 8090  ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

然後在pom文件裡面配置docker-maven-plugin插件,在plugins節點下,添加一個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>     <!--將插件綁定在package這個phase上。也就是說,用戶只需執行mvn package ,就會自動執行mvn docker:build-->     <phase>package</phase>     <goals>      <goal>build</goal>     </goals>     </execution>    </executions>    <configuration>     <!--指定生成的鏡像名-->     <imageName>jason/${project.artifactId}</imageName>     <!--指定標籤-->     <imageTags>     <imageTag>latest</imageTag>     </imageTags>     <!--指定 Dockerfile 路徑-->     <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory>     <!--指定遠程 docker api地址-->     <dockerHost>http://58.87.113.58: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>

 

配置完成,現在使用maven package,即可將我們的jar包打成docker鏡像,可以使用idea右側的快捷方式,
 也可以使用命令:

mvn package

完成後,我們會在這裡看見我們剛打好的鏡像包

在這裡插入圖片描述

運行該鏡像,需要使用到docker的容器來承載它,我們右鍵創建

在這裡插入圖片描述

設置鏡像名稱,設置IP映射即可,我這裡項目的port是8090,容器對外開放設置為8091

在這裡插入圖片描述

設置完之後我們點擊Run,訪問我們提前寫好的測試接口,測試結果

在這裡插入圖片描述

那麼問題來了,我們開發的時候改完代碼就需要發佈一次,不可能每次都先點一下package然後再run是吧,這樣多撈啊,我們把這兩個步驟串起來,不就行了嗎
 繼續編輯我們剛剛的配置,添加一個maven步驟即可

在這裡插入圖片描述

那麼我們再次修改代碼後,再點擊Run,即可在線上看到最新的程序了,至此一個簡單的一鍵部署就完成了

在這裡插入圖片描述


   


[wooen ] Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細步驟已經有228次圍觀

http://coctec.com/docs/linux/show-post-241462.html