Linux+Docker+SpringBoot+IDEA一鍵自動(dòng)化部署的詳細(xì)步驟
Linux+Docker+SpringBoot+IDEA一鍵自動(dòng)化部署的步驟
記錄從打包到服務(wù)器配置上線(xiàn)全流程
安裝docker
詳細(xì)步驟請(qǐng)戳這里
用yum源安裝用yum源安裝查看是否已安裝docker列表
yum list installed | grep docke
安裝docker
yum -y install docker
-y表示不詢(xún)問(wèn)安裝,直到安裝成功,安裝完后再次查看安裝列表
開(kāi)放2375端口,開(kāi)啟遠(yuǎn)程訪(fǎng)問(wèn)
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
查看端口是否開(kāi)啟
netstat -nptl
直接curl看是否生效
curl http://127.0.0.1:2375/version
雖然開(kāi)放此端口打包程序很方便,但是會(huì)導(dǎo)致一些安全問(wèn)題,因此 可以限制訪(fǎng)問(wèn)IP來(lái)解決,在云服務(wù)器中設(shè)置安全組即可
IDEA鏈接docker
第一步,遠(yuǎn)程鏈接docker:
成功后可見(jiàn):
打鏡像包
大致流程如下,采用maven綁定的方式進(jìn)行打包鏡像,然后根據(jù)該鏡像建立一個(gè)docker容器,啟動(dòng)容器,即可首先我們先創(chuàng)建一個(gè)DockerFile,路徑參考:
DockerFile文件內(nèi)容如下:
FROM java:8VOLUME /tmp#docker-day1-1.0.jar為項(xiàng)目打包為jar包的名字,app.jar為別名ADD docker-day1-1.0.jar app.jar#運(yùn)行的時(shí)候?qū)ν馓峁┑亩丝谀J(rèn)是8090,即便你在這里聲明了3000也不會(huì)改變默認(rèn)的端口8090EXPOSE 8090ENTRYPOINT ['java','-Djava.security.egd=file:/dev/./urandom','-jar','/app.jar']
然后在pom文件里面配置docker-maven-plugin插件,在plugins節(jié)點(diǎn)下,添加一個(gè)plugin,內(nèi)容如下:
<!--使用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上。也就是說(shuō),用戶(hù)只需執(zhí)行mvn package ,就會(huì)自動(dòng)執(zhí)行mvn docker:build--> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!--指定生成的鏡像名--> <imageName>jason/${project.artifactId}</imageName> <!--指定標(biāo)簽--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--指定 Dockerfile 路徑--> <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory> <!--指定遠(yuǎn)程 docker api地址--> <dockerHost>http://58.87.113.58:2375</dockerHost> <!--這里是復(fù)制 jar 包到 docker 容器指定目錄配置 --> <resources> <resource> <targetPath>/</targetPath> <!--jar 包所在的路徑 此處配置的 即對(duì)應(yīng) target 目錄--> <directory>${project.build.directory}</directory> <!--需要包含的 jar包 ,這里對(duì)應(yīng)的是 Dockerfile中添加的文件名 --> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
配置完成,現(xiàn)在使用maven package,即可將我們的jar包打成docker鏡像,可以使用idea右側(cè)的快捷方式,也可以使用命令:
mvn package
完成后,我們會(huì)在這里看見(jiàn)我們剛打好的鏡像包
運(yùn)行該鏡像,需要使用到docker的容器來(lái)承載它,我們右鍵創(chuàng)建
設(shè)置鏡像名稱(chēng),設(shè)置IP映射即可,我這里項(xiàng)目的port是8090,容器對(duì)外開(kāi)放設(shè)置為8091
設(shè)置完之后我們點(diǎn)擊Run,訪(fǎng)問(wèn)我們提前寫(xiě)好的測(cè)試接口,測(cè)試結(jié)果
那么問(wèn)題來(lái)了,我們開(kāi)發(fā)的時(shí)候改完代碼就需要發(fā)布一次,不可能每次都先點(diǎn)一下package然后再run是吧,這樣多撈啊,我們把這兩個(gè)步驟串起來(lái),不就行了嗎繼續(xù)編輯我們剛剛的配置,添加一個(gè)maven步驟即可
那么我們?cè)俅涡薷拇a后,再點(diǎn)擊Run,即可在線(xiàn)上看到最新的程序了,至此一個(gè)簡(jiǎn)單的一鍵部署就完成了
附:java源碼下載
到此這篇關(guān)于Linux+Docker+SpringBoot+IDEA一鍵自動(dòng)化部署的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Linux+Docker+SpringBoot+IDEA一鍵自動(dòng)化部署內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長(zhǎng)日期的方法2. 解析原生JS getComputedStyle3. PHP循環(huán)與分支知識(shí)點(diǎn)梳理4. ASP基礎(chǔ)入門(mén)第八篇(ASP內(nèi)建對(duì)象Application和Session)5. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)6. 小技巧處理div內(nèi)容溢出7. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器8. 概述IE和SQL2k開(kāi)發(fā)一個(gè)XML聊天程序9. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?10. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法
