主頁 > 知識(shí)庫 > IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程

IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程

熱門標(biāo)簽:工廠位置地圖標(biāo)注 重慶營銷外呼系統(tǒng)排名 400電話辦理哪家好廠商 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 繽客網(wǎng)注冊時(shí)地圖標(biāo)注出不來 企業(yè)400電話辦理哪正規(guī) 網(wǎng)站上插入地圖標(biāo)注內(nèi)容 鶴壁電銷外呼系統(tǒng)怎么安裝 地圖標(biāo)注需要現(xiàn)場嗎

開始前的準(zhǔn)備工作

擁有一臺(tái)云服務(wù)器,我的是騰訊云服務(wù)器(CentOS7)

騰訊云服務(wù)器安裝Docker,我的版本是Docker 19.03.9,關(guān)于安裝和配置鏡像加速器可以查閱我的另一篇博文:https://www.jb51.net/article/188048.htm,其中有詳細(xì)的講解

Windows上有安裝IDEA

正式開始工作

第一步:配置Docker,開啟遠(yuǎn)程訪問(注:僅供學(xué)習(xí)參考,實(shí)際生產(chǎn)環(huán)境萬萬不可,會(huì)產(chǎn)生很大的安全風(fēng)險(xiǎn)),默認(rèn)端口是2375,也可以修改為其他端口

1、修改/lib/systemd/system/docker.service文件

vim /lib/systemd/system/docker.service

ExecStart后面追加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

修改完記得寫保存退出命令 :wq

2、重新加載配置文件,重啟docker,使得剛才的配置生效

#重新加載配置文件
systemctl daemon-reload
#重啟docker服務(wù)
systemctl restart docker

3、使用curl命令檢查是否開啟

#curl下載docker的服務(wù)信息
curl http://127.0.0.1:2375/info

如果有返回說明,就證明開啟成功了,可以看到我的Docker版本,鏡像加速器地址等其他信息,但是這時(shí)候遠(yuǎn)程可能依然訪問不了

4、配置騰訊云安全組規(guī)則,入站規(guī)則中開放2375端口,使得可以遠(yuǎn)程訪問(阿里云都是一樣)

最后點(diǎn)完成就OK了

5、檢查端口是否可以遠(yuǎn)程訪問,在本地瀏覽器輸入:http://服務(wù)器IP地址:2375/info

第二步:對項(xiàng)目進(jìn)行配置,連接遠(yuǎn)程docker

1、安裝Docker插件,去Plugins搜索Docker,然后直接安裝就行了,如果,這是我已經(jīng)安裝過的,安裝完成后重啟IDEA,就有docker插件了

2、配置連接遠(yuǎn)程docker,打開Docker插件,新建連接,在Engine API URL處輸入服務(wù)器IP地址:2375,然后,不出意外,下方都會(huì)出現(xiàn)Connection successful,這樣連接遠(yuǎn)程服務(wù)器的Docker就成功了

3、編輯項(xiàng)目pom.xml文件,在Spring Boot項(xiàng)目中添加docker-maven-plugin插件

<plugin>
 <groupId>com.spotify</groupId>
 <artifactId>docker-maven-plugin</artifactId>
 <version>1.0.0</version>
 <!--將插件綁定在某個(gè)phase執(zhí)行-->
 <executions>
 <execution>
 <id>build-image</id>
 <!--將插件綁定在package這個(gè)phase上。也就是說,用戶只需執(zhí)行mvn package ,就會(huì)自動(dòng)執(zhí)行mvn docker:build-->
 <phase>package</phase>
 <goals>
 <goal>build</goal>
 </goals>
 </execution>
 </executions>
 <configuration>
 <!--指定生成的鏡像名-->
 <imageName>wbb/${project.artifactId}</imageName>
 <!--指定標(biāo)簽-->
 <imageTags>
 <imageTag>latest</imageTag>
 </imageTags>
 <!-- 指定 Dockerfile 路徑 ${project.basedir}:項(xiàng)目根路徑下-->
 <dockerDirectory>${project.basedir}</dockerDirectory>
 <!--指定遠(yuǎn)程 docker api地址-->
 <dockerHost>http://134.175.236.221:2375</dockerHost>
 <!-- 這里是復(fù)制 jar 包到 docker 容器指定目錄配置 -->
 <resources>
 <resource>
 <targetPath>/</targetPath>
 <!--jar 包所在的路徑 此處配置的 即對應(yīng) target 目錄-->
 <directory>${project.build.directory}</directory>
 <!-- 需要包含的 jar包 ,這里對應(yīng)的是 Dockerfile中添加的文件名 -->
 <include>${project.build.finalName}.jar</include>
 </resource>
 </resources>
 <!-- 以下兩行是為了docker push到DockerHub使用的。 -->
 <!--<serverId>docker-hub</serverId>-->
 <!--<registryUrl>https://index.docker.io/v1</registryUrl>-->
 </configuration>
 </plugin>

4、在項(xiàng)目根目錄下創(chuàng)建Dockerfile文件

Dockerfile文件內(nèi)容

Dockerfile保留字的解析可以查閱我的另一篇博文:https://www.jb51.net/article/102902.htm,里面有常用保留字的詳細(xì)解析,不過沒有實(shí)例,正好可以這個(gè)Dockerfile文件進(jìn)行對照理解

這個(gè)Dockerfile文件的內(nèi)容大概是:

第一行:當(dāng)前要?jiǎng)?chuàng)建的鏡像是基于java:8這個(gè)鏡像的,也就是JDK8,也就是基本的Java運(yùn)行開發(fā)環(huán)境肯定要有,這個(gè)也可以提前docker pull

第二行:在構(gòu)建的時(shí)候把target目錄下的jar包添加到鏡像中,并改名為app.jar

第三行:鏡像對外開放的端口是8888,這個(gè)在后面進(jìn)行端口映射的時(shí)候還要用,一定要記住,當(dāng)然,沒記住,也可以使用docker history命令去看

第四行:啟動(dòng)鏡像實(shí)例容器時(shí)會(huì)自動(dòng)執(zhí)行:java -jar /app.jar命令,也就是啟動(dòng)容器時(shí),就啟動(dòng)了項(xiàng)目,而且不會(huì)被啟動(dòng)容器時(shí)添加的命令參數(shù)覆蓋

另外其他沒指定的參數(shù),就是默認(rèn)的,比如登錄容器時(shí)默認(rèn)的路徑是根目錄

5、打包項(xiàng)目,同時(shí)會(huì)自動(dòng)構(gòu)建鏡像,點(diǎn)擊右側(cè)的Maven Projects,然后雙擊package

看到如果的信息就表示構(gòu)建成功了,現(xiàn)在就可以去服務(wù)器查看構(gòu)建的鏡像了

第三步:啟動(dòng)鏡像實(shí)例容器,遠(yuǎn)程訪問項(xiàng)目,接下來的步驟可以在IDEA中直接進(jìn)行,也可以在服務(wù)器上進(jìn)行,為了更加熟悉docker命令,我就在服務(wù)器端演示了

關(guān)于以下用到的docker命令可以查看我的其他兩篇博文:https://www.jb51.net/article/113227.htm  https://www.jb51.net/article/142481.htm,里面有詳細(xì)的docker鏡像命令和容器命令的解釋

1、查看所有鏡像:docker images

如圖所示,剛剛構(gòu)建的鏡像wbb/shop鏡像已經(jīng)存在了

2、啟動(dòng)容器:docker run -it -p 8889:8888 --name shop wbb/shop

啟動(dòng)時(shí),這里的 -p 8889:8888 是端口映射,就是宿主機(jī)的8889端口映射到鏡像的8888端口,訪問宿主機(jī)的8889端口就相當(dāng)于訪問到鏡像的8888端口,這個(gè)8888就是Dockerfile文件中寫的開放的那個(gè)端口,當(dāng)然,一般應(yīng)該是指定-d后臺(tái)運(yùn)行,我指定前臺(tái)交互運(yùn)行,其實(shí),就是為了看畫的這個(gè)美女而已,這個(gè)身材,夢中女神啊

3、查看容器運(yùn)行狀態(tài)信息:docker ps

可以看到,構(gòu)建的鏡像實(shí)例已經(jīng)運(yùn)行了7分鐘多了,端口映射情況,第一個(gè)是容器的ID

4、遠(yuǎn)程訪問項(xiàng)目:http://服務(wù)器IP地址:8889/shop

在此之前,必須確保宿主機(jī)的端口8889是開放的,否則可以按照配置安全組規(guī)則放行8889端口,另外,/shop是我的項(xiàng)目的虛擬路徑

OK,到此,使用IDEA連接遠(yuǎn)程Docker服務(wù)部署Spring Boot項(xiàng)目的方法就解釋完了,不足之處,請多指教

附:檢查端口是否開放遠(yuǎn)程訪問,也可以使用在線端口掃描工具:http://www.jsons.cn/port/,輸入服務(wù)器IP地址和相應(yīng)的端口掃描就可以了,可以實(shí)現(xiàn)多個(gè)端口掃描,很方便

總結(jié)

到此這篇關(guān)于IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的文章就介紹到這了,更多相關(guān)idea docker部署springboot項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:克拉瑪依 常州 東莞 日照 棗莊 鹽城 96 渭南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程》,本文關(guān)鍵詞  IDEA,連接,遠(yuǎn)程,服務(wù)器,Docker,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章