使用阿里云容器鏡像服務(wù)構(gòu)建SpringBoot應(yīng)用

傳統(tǒng)方法的缺點

網(wǎng)上有很多關(guān)于使用Docker部署SpringBoot應(yīng)用的教程,但是無一例外地使用了本地的Docker構(gòu)建鏡像,然后通過push本地鏡像的方式提交至阿里云容器服務(wù)。
類似教程如:

按照如此方法,不僅需要引入并配置使用Spring Boot Maven plugin這個插件,還需要在本地機器安裝Docker,然后執(zhí)行mvn package docker:build。
構(gòu)建好鏡像后,再push到遠程鏡像倉庫中。這樣不僅每一次更新都要重新構(gòu)建、重新push,而且極度消耗本地機器性能。

使用阿里云鏡像服務(wù)構(gòu)建

阿里云提供的鏡像服務(wù)中,可以通過源代碼直接構(gòu)建,只需指明代碼中的Dockerfile路徑即可。由于其鏡像構(gòu)建服務(wù)可以使用海外機器構(gòu)建,因此在構(gòu)建maven項目時,
不會存在麻煩的倉庫更新緩慢的問題。

具體做法如下:

  • SpringBoot項目根路徑下創(chuàng)建DockerFile

  • 編輯Dockerfile,這里使用官方的maven鏡像作為基礎(chǔ)鏡像:

FROM maven:3.5.4-alpine
ADD . /app
WORKDIR /app/
RUN mvn clean package
EXPOSE 8080
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar target/tim-sign-fys-0.0.1-SNAPSHOT.jar

注意:將target/tim-sign-fys-0.0.1-SNAPSHOT.jar替換為你的工程打包好的.jar包路徑。

  • 上傳至代碼倉庫后,使用阿里云鏡像服務(wù)進行構(gòu)建:


  • 進入鏡像管理,立即構(gòu)建鏡像:

  • 進入容器服務(wù)控制臺,使用構(gòu)建好的鏡像創(chuàng)建應(yīng)用:


  • 創(chuàng)建成功,SpringBoot應(yīng)用自動啟動:


  • 如果配置了路由,則可以很方便地從公網(wǎng)訪問剛剛創(chuàng)建的SpringBoot應(yīng)用:



因為此示例項目沒有監(jiān)聽根路徑'/',因此訪問根路徑報錯Whitelabel Error Page,但是這正好證明SpringBoot應(yīng)用已經(jīng)部署成功。

通過這種方法部署SpringBoot應(yīng)用到阿里云容器服務(wù)上簡單、高效。如果你的應(yīng)用不想運行在阿里云容器服務(wù)中,同樣可以使用阿里云容器鏡像服務(wù)遠程構(gòu)建你的
鏡像。然后將構(gòu)建好的鏡像部署到你指定的任意容器中即可。

原文地址: http://www.trojx.me/2018/07/23/docker-springboot-aliyun/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容