您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)IDEA2021.2配置docker怎樣將springboot項(xiàng)目打成鏡像一鍵發(fā)布部署,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
這里再介紹如何在IDEA中配置docker,將項(xiàng)目部署到服務(wù)器上
idea2021激活教程
https://www.yuque.com/docs/share/b996d27e-c888-45f2-bb1e-f6db5efe2485?#
http://www.kemok4.com/article/178193.htm
去插件中心安裝Docker插件,安裝完重啟IDEA。這個(gè)簡(jiǎn)單
配置連接遠(yuǎn)程docker,打開Docker插件,新建連接,在Engine API URL處輸入服務(wù)器IP地址:2375。出現(xiàn)Connection successful代表鏈接成功,否則需要看看ip端口是否是通的
新建一個(gè)springboot項(xiàng)目,在pom文件中docker-maven-plugin插件,直接復(fù)制
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.1</version> <!--將插件綁定在某個(gè)phase執(zhí)行--> <executions> <execution> <id>build-image</id> <!--將插件綁定在package這個(gè)phase上,也就是說(shuō),用戶只需要執(zhí)行mvn package,就會(huì)自動(dòng)執(zhí)行mvn docker:build--> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!--指定生成的鏡像名--> <imageName>clover/${project.artifactId}</imageName> <!--指定標(biāo)簽--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--指定Dockerfile 的位置,${project.basedir}:項(xiàng)目的根路徑下--> <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory> <!--指定遠(yuǎn)程docker api地址--> <dockerHost>http://192.168.6.215:2375</dockerHost> <resources> <resource> <!--容器中自定義jar包存放的位置,及對(duì)應(yīng)的target目錄--> <targetPath>/</targetPath> <!--本地jar包所在路徑--> <directory>${project.build.directory}</directory> <!--需要包含本地jar包名稱,對(duì)應(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>
添加個(gè)url接口,方便訪問(wèn):
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) @RestController public class DockerdemoApplication { public static void main(String[] args) { SpringApplication.run(DockerdemoApplication.class, args); } @RequestMapping("/test") public String test(){ return "1. Hello world ! " + new SimpleDateFormat(" [yyyy-mm-dd HH:mm:ss]").format(new Date()); } }
在項(xiàng)目根目錄新建Dockerfile文件
# Docker image for springboot application # VERSION 0.0.1 # Author: bolingcavalry ### 基礎(chǔ)鏡像,使用alpine操作系統(tǒng),openjkd使用8u201 FROM openjdk:8u201-jdk-alpine3.9 #作者 MAINTAINER BolingCavalry <zq2599@gmail.com> #系統(tǒng)編碼 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 #聲明一個(gè)掛載點(diǎn),容器內(nèi)此路徑會(huì)對(duì)應(yīng)宿主機(jī)的某個(gè)文件夾 VOLUME /tmp #應(yīng)用構(gòu)建成功后的jar文件被復(fù)制到鏡像內(nèi),名字也改成了app.jar ADD target/dockerplugindemo-0.0.1-SNAPSHOT.jar app.jar #啟動(dòng)容器時(shí)的進(jìn)程 ENTRYPOINT ["java","-jar","/app.jar"] #暴露8080端口 EXPOSE 8080
在IDEA新建dockerfile啟動(dòng)文件
Dockerfile配置詳情如下圖所示,請(qǐng)按照?qǐng)D中的說(shuō)明進(jìn)行設(shè)置,確保每個(gè)紅框中都會(huì)執(zhí)行到:
上圖中最下面的那個(gè)"Run Maven Goal"點(diǎn)擊后,會(huì)彈出一個(gè)小窗口 ,用來(lái)輸入要執(zhí)行的maven命令,這里輸入clean package -U -DskipTests,表示每次在構(gòu)建鏡像之前,都會(huì)將當(dāng)前工程清理掉并且重新編譯構(gòu)建:
設(shè)置完成后,點(diǎn)擊下圖紅框中的綠色三角按鈕,執(zhí)行此配置:
發(fā)布不成功可能會(huì)因?yàn)閕dea不是管理員權(quán)限打開的
,筆者就遇到這種情況,發(fā)布失敗,連不上服務(wù)器docker?;蛘叻阑饓?,宿主機(jī)的端口沒(méi)寫對(duì)等等
在服務(wù)器上執(zhí)行docker image
可以查看鏡像情況
在瀏覽器上訪問(wèn)地址:http://192.168.6.215:8080/test,得到響應(yīng)如下圖所示,可見應(yīng)用在容器中正常運(yùn)行:
如果修改了代碼,再次點(diǎn)擊上圖的三角形啟動(dòng),就再次發(fā)布部署了
上述就是小編為大家分享的IDEA2021.2配置docker怎樣將springboot項(xiàng)目打成鏡像一鍵發(fā)布部署了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。