CentOS7中使用Dockerfile部署后台jar包
場景
使用Dockerfile定制鏡像來部署Tomcat項目:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99105626
在上面使用Tomcat部署項目之外,還可以使用Dockfile基于openjdk部署jar包項目。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實現(xiàn)
1、新建SpringBoot項目,使用基本的web項目模板,然后添加一個get接口.
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;@RestController @RequestMapping("/badao") public class DemoController {@GetMapping("/list")public String list(){System.out.println("公眾號:霸道的程序猿");return "公眾號:霸道的程序猿";} }2、將此服務(wù)打成一個jar包,命名為badao.jar,并將次jar包上傳到CentOS服務(wù)器上
在根目錄下新建目錄
cd / mkdir dockerfiledemo然后將上面的badao.jar上傳到該目錄下,在此目錄下新建Dockerfile文件
vi Dockerfile然后將此文件的內(nèi)容修改為:
FROM openjdk:8-jdk-alpine MAINTAINER "badaodechengxvyuan" LABEL description="公眾號-霸道的程序猿" WORKDIR app ADD badao.jar /app/badao.jar EXPOSE 9090 CMD java -jar /app/badao.jar3、Dockerfile命令說明
FROM:指定基礎(chǔ)鏡像,必須為第一個命令
MAINTAINER: 維護(hù)者信息
LABEL:用于為鏡像添加元數(shù)據(jù)
ADD:將本地文件添加到容器中,tar類型文件會自動解壓(網(wǎng)絡(luò)壓縮資源不會被解壓),可以訪問網(wǎng)絡(luò)資源,類似wget
COPY:功能類似ADD,但是是不會自動解壓文件,也不能訪問網(wǎng)絡(luò)資源
WORKDIR:工作目錄,類似于cd命令
RUN:構(gòu)建鏡像時執(zhí)行的命令
CMD:構(gòu)建容器后調(diào)用,也就是在容器啟動時才進(jìn)行調(diào)用。
ENTRYPOINT:配置容器,使其可執(zhí)行化。配合CMD可省去"application",只使用參數(shù)。
ENV:設(shè)置環(huán)境變量
EXPOSE:指定于外界交互的端口
VOLUME:用于指定持久化目錄
ARG:用于指定傳遞給構(gòu)建運(yùn)行時的變量
USER:指定運(yùn)行容器時的用戶名或 UID,后續(xù)的 RUN 也會使用指定用戶。使用USER指定用戶時,可以使用用戶名、UID或GID,或是兩者的組合。當(dāng)服務(wù)不需要管理員權(quán)限時,可以通過該命令指定運(yùn)行用戶。并且可以在之前創(chuàng)建所需要的用戶
ONBUILD:用于設(shè)置鏡像觸發(fā)器
4、上面的Dockerfile文件的意思
以openjdk為基礎(chǔ)鏡像
設(shè)置工作目錄為app目錄
將當(dāng)前本地目錄下badao.jar添加到容器add目錄下
暴露9090端口
cmd運(yùn)行命令啟動jar包。
5、編譯Dockerfile文件生成Docker鏡像
docker build -t badaoimage .注意這里的鏡像名 不能有大寫,后面還有一個點
注意:
-t代表目標(biāo)鏡像名
.代表Dockerfile文件路徑
如果需要刪除舊的鏡像
docker rmi 鏡像名構(gòu)建成功后可以通過
docker images看到自己構(gòu)建的鏡像
6、運(yùn)行構(gòu)建的badaoimage鏡像
docker run -d -p 9090:9090 badaoimage然后查看運(yùn)行中的容器
docker ps并且在瀏覽器中訪問get接口成功。
?
并且查看容器運(yùn)行的輸出日志
docker logs -f 容器ID?
總結(jié)
以上是生活随笔為你收集整理的CentOS7中使用Dockerfile部署后台jar包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS7中使用Docker安装SV
- 下一篇: WinServer2012中怎样设置静态