小編這次要給大家分享的是詳解IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項目,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
成都創(chuàng)新互聯(lián)專注于恩施土家企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。恩施土家網(wǎng)站建設(shè)公司,為恩施土家等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
開始前的準(zhǔn)備工作
擁有一臺云服務(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í)參考,實際生產(chǎn)環(huán)境萬萬不可,會產(chǎn)生很大的安全風(fēng)險),默認(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版本,鏡像加速器地址等其他信息,但是這時候遠(yuǎn)程可能依然訪問不了
4、配置騰訊云安全組規(guī)則,入站規(guī)則中開放2375端口,使得可以遠(yuǎn)程訪問(阿里云都是一樣)
最后點完成就OK了
5、檢查端口是否可以遠(yuǎn)程訪問,在本地瀏覽器輸入:http://服務(wù)器IP地址:2375/info
第二步:對項目進(jìn)行配置,連接遠(yuǎn)程docker
1、安裝Docker插件,去Plugins搜索Docker,然后直接安裝就行了,如果,這是我已經(jīng)安裝過的,安裝完成后重啟IDEA,就有docker插件了
2、配置連接遠(yuǎn)程docker,打開Docker插件,新建連接,在Engine API URL處輸入服務(wù)器IP地址:2375,然后,不出意外,下方都會出現(xiàn)Connection successful,這樣連接遠(yuǎn)程服務(wù)器的Docker就成功了
3、編輯項目pom.xml文件,在Spring Boot項目中添加docker-maven-plugin
插件
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <!--將插件綁定在某個phase執(zhí)行--> <executions> <execution> <id>build-image</id> <!--將插件綁定在package這個phase上。也就是說,用戶只需執(zhí)行mvn package ,就會自動執(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}:項目根路徑下--> <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、在項目根目錄下創(chuàng)建Dockerfile文件
Dockerfile文件內(nèi)容
Dockerfile保留字的解析可以查閱我的另一篇博文:https://www.jb51.net/article/102902.htm,里面有常用保留字的詳細(xì)解析,不過沒有實例,正好可以這個Dockerfile文件進(jìn)行對照理解
這個Dockerfile文件的內(nèi)容大概是:
第一行:當(dāng)前要創(chuàng)建的鏡像是基于java:8這個鏡像的,也就是JDK8,也就是基本的Java運(yùn)行開發(fā)環(huán)境肯定要有,這個也可以提前docker pull
第二行:在構(gòu)建的時候把target目錄下的jar包添加到鏡像中,并改名為app.jar
第三行:鏡像對外開放的端口是8888,這個在后面進(jìn)行端口映射的時候還要用,一定要記住,當(dāng)然,沒記住,也可以使用docker history命令去看
第四行:啟動鏡像實例容器時會自動執(zhí)行:java -jar /app.jar命令,也就是啟動容器時,就啟動了項目,而且不會被啟動容器時添加的命令參數(shù)覆蓋
另外其他沒指定的參數(shù),就是默認(rèn)的,比如登錄容器時默認(rèn)的路徑是根目錄
5、打包項目,同時會自動構(gòu)建鏡像,點擊右側(cè)的Maven Projects,然后雙擊package
看到如果的信息就表示構(gòu)建成功了,現(xiàn)在就可以去服務(wù)器查看構(gòu)建的鏡像了
第三步:啟動鏡像實例容器,遠(yuǎn)程訪問項目,接下來的步驟可以在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、啟動容器:docker run -it -p 8889:8888 --name shop wbb/shop
啟動時,這里的 -p 8889:8888 是端口映射,就是宿主機(jī)的8889端口映射到鏡像的8888端口,訪問宿主機(jī)的8889端口就相當(dāng)于訪問到鏡像的8888端口,這個8888就是Dockerfile文件中寫的開放的那個端口,當(dāng)然,一般應(yīng)該是指定-d后臺運(yùn)行,我指定前臺交互運(yùn)行,其實,就是為了看畫的這個美女而已,這個身材,夢中女神啊
3、查看容器運(yùn)行狀態(tài)信息:docker ps
可以看到,構(gòu)建的鏡像實例已經(jīng)運(yùn)行了7分鐘多了,端口映射情況,第一個是容器的ID
4、遠(yuǎn)程訪問項目:http://服務(wù)器IP地址:8889/shop
在此之前,必須確保宿主機(jī)的端口8889是開放的,否則可以按照配置安全組規(guī)則放行8889端口,另外,/shop是我的項目的虛擬路徑
OK,到此,使用IDEA連接遠(yuǎn)程Docker服務(wù)部署Spring Boot項目的方法就解釋完了,不足之處,請多指教
看完這篇關(guān)于詳解IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項目的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。
分享題目:詳解IDEA連接遠(yuǎn)程服務(wù)器Docker部署SpringBoot項目
當(dāng)前鏈接:http://www.rwnh.cn/article20/pgsdco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)頁設(shè)計公司、商城網(wǎng)站、網(wǎng)站排名、網(wǎng)站營銷、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)