如何在IDE部署springboot項(xiàng)目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機(jī)上的docker
一、前言
最近寫了個(gè)項(xiàng)目,前端還沒寫,需要部署到服務(wù)器給女朋友實(shí)現(xiàn)前端,可是不熟悉Linux的我,躡手躡腳,真的是每一步都是bug,可謂是步步維艱,對(duì)世界很絕望,曾經(jīng)懷疑自己的服務(wù)器有問題,甚至一度懷疑是自己的DaoBan IDE有問題,歷時(shí)兩天一夜,終于……部署好了。
二、現(xiàn)在開始分享一下安裝歷程:
1.購買一個(gè)服務(wù)器或者安裝虛擬機(jī)(有點(diǎn)像廢話)
2.安裝docker(可以使用yum安裝)
tips:安裝好docker之后需要配置一下,輸入下面這行代碼,進(jìn)入docker配置文件,在ExecStart=后添加配置,遠(yuǎn)程訪問docker的端口為2375
sos:如果是服務(wù)器,這個(gè)修改后需要在服務(wù)器上面再配置一下這個(gè)端口號(hào),不然ide會(huì)識(shí)別不出端口號(hào),很重要(這個(gè)坑踩了很久,快陷進(jìn)去了)
????

vim /lib/systemd/system/docker.service #輸入,進(jìn)到這個(gè)配置文件 -H tcp://0.0.0.0:2375 #復(fù)制粘貼這個(gè) 退出編輯界面:先按esc,然后":wq"退出 # 重啟docker systemctl daemon-reload systemctl restart docker
3.到了第三步,說明咱們已經(jīng)配置好docker了,現(xiàn)在需要在docker里面拉取MySQL映像
docker pull mysql:8.0(本人用8.0,需要什么版本號(hào)在后面改就好) docker run -itd --name mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=root mysql:8.0
tips: 這一步也有個(gè)坑,如果你在安裝docker之前,本地就安裝了mysql,并且端口號(hào)也是3306,那必須讓它處于關(guān)閉狀態(tài),否則會(huì)造成端口號(hào)沖突,windows的navigate或者小海豚就會(huì)連接不上虛擬機(jī)的mysql
4.到這一步,虛擬機(jī)的工作做完了,回到ide中,首先修改yml文件中mysql的連接地址,ip和端口號(hào)都需要改成虛擬機(jī)的,注意密碼也要改哦。
其次呢,需要在pom文件添加docker-maven-plugin插件
<!-- docker-maven-plugin-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<!-- Docker路徑 -->
<dockerHost>http://虛擬機(jī)的ip:2375(剛開始設(shè)置的docker端口號(hào))</dockerHost>
<!-- Dockerfile定義 -->
<baseImage>openjdk:11</baseImage>
<!-- 作者 -->
<maintainer>jackie</maintainer>
<resources>
<resource>
<!-- 復(fù)制jar包到docker容器指定目錄 -->
<targetPath>/</targetPath>
<!-- 從哪個(gè)包拷貝文件,target包 -->
<directory>${project.build.directory}</directory>
<!-- 拷貝哪個(gè)文件 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<workdir>/</workdir>
<entryPoint>
["java", "-jar", "${project.build.finalName}.jar"]
</entryPoint>
<forceTags>true</forceTags>
<!-- 鏡像名 -->
<imageName>${project.artifactId}</imageName>
<!-- 鏡像版本 -->
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
</configuration>
</plugin>5.打包,先后順序。

6.到這一步已經(jīng)加載好docker插件了,打開這個(gè)插件,點(diǎn)一下build,如果運(yùn)行最后顯示BUID SUCESS,就說明成功傳輸package到虛擬機(jī)了,到虛擬機(jī)查看(這里如果不成功,大概率是2375那個(gè)端口號(hào)在服務(wù)器那里沒有釋放)

7.回到虛擬機(jī),輸入命令
docker images
如果看到

就成功了,現(xiàn)在來運(yùn)行這個(gè)項(xiàng)目輸入
docker run -d -p 80:80 項(xiàng)目名:0.0.1-SNAPSHOT

-d是后臺(tái)運(yùn)行,-p:綁定端口號(hào) ,前面那個(gè)80是啟動(dòng)這個(gè)鏡像對(duì)外暴露的端口(自定),第二個(gè)80是下載的鏡像的端口(原項(xiàng)目端口) 。
接下來,查看自己的項(xiàng)目是否成功,輸入命令,就會(huì)出現(xiàn)你的項(xiàng)目名字了,然后可以在本地瀏覽器查看一下項(xiàng)目。
docker ps
到此這篇關(guān)于如何在IDE部署springboot項(xiàng)目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機(jī)上的docker的文章就介紹到這了,更多相關(guān)ide部署springboot項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java之lombok的構(gòu)建者模式Builder中的泛型寫法說明
這篇文章主要介紹了java之lombok的構(gòu)建者模式Builder中的泛型寫法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Java中的世界時(shí)區(qū)如何自動(dòng)計(jì)算及生成?
在?Java?中,處理時(shí)區(qū)和時(shí)間計(jì)算是一個(gè)非常常見的需求,尤其是在涉及全球應(yīng)用時(shí),Java?提供了一些強(qiáng)大的?API?來處理世界時(shí)區(qū)(如?java.time?包),下面將介紹如何基于?Java?自動(dòng)計(jì)算時(shí)區(qū)并生成相應(yīng)的時(shí)間2025-01-01
Windows系統(tǒng)下Java連接SQL Server的方法簡(jiǎn)介
這篇文章主要介紹了Windows系統(tǒng)下Java連接SQL Server的方法,分別是JDBC和JTDS的相關(guān)使用,需要的朋友可以參考下2015-09-09
Spring中@EnableScheduling實(shí)現(xiàn)定時(shí)任務(wù)代碼實(shí)例
這篇文章主要介紹了Spring中@EnableScheduling實(shí)現(xiàn)定時(shí)任務(wù)代碼實(shí)例,@EnableScheduling 注解開啟定時(shí)任務(wù)功能,可以將多個(gè)方法寫在一個(gè)類,也可以分多個(gè)類寫,當(dāng)然也可以將方法直接寫在上面ScheddulConfig類中,需要的朋友可以參考下2024-01-01

