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配置
1
2
|
systemctl daemon-reload // 1,重新加載配置文件 systemctl restart docker // 2,重啟docker |
查看端口是否開啟
netstat -nptl
直接curl看是否生效
雖然開放此端口打包程序很方便,但是會導致一些安全問題,因此 可以限制訪問IP來解決,在云服務器中設置安全組即可
IDEA鏈接docker
第一步,遠程鏈接docker:
成功后可見:
打鏡像包
大致流程如下,采用maven綁定的方式進行打包鏡像,然后根據該鏡像建立一個docker容器,啟動容器,即可
首先我們先創建一個DockerFile,路徑參考:
DockerFile文件內容如下:
1
2
3
4
5
6
7
|
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,內容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<!--使用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,即可在線上看到最新的程序了,至此一個簡單的一鍵部署就完成了
附:java源碼下載
到此這篇關于Linux+Docker+SpringBoot+IDEA一鍵自動化部署的詳細步驟的文章就介紹到這了,更多相關Linux+Docker+SpringBoot+IDEA一鍵自動化部署內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/z1353095373/article/details/106874050