springboot docker原理及項(xiàng)目構(gòu)建
這篇文章主要介紹了springboot docker原理及項(xiàng)目構(gòu)建,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一、添加maven配置
<properties> <docker.image.prefix>ms4t</docker.image.prefix> </properties> <build> <finalName>eureka</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin> </plugins> </build>
二、創(chuàng)建Dockerfile
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
參數(shù)講解:
- FROM <image>:<tag> 需要一個(gè)基礎(chǔ)鏡像,可以是公共的或者私有的。
- 后續(xù)構(gòu)建會(huì)基于此鏡像,如果同一個(gè)Dockerfile中建立多個(gè)鏡像時(shí),可以使用多個(gè)FROM指令
- VOLUME 配置一個(gè)具有持久化功能的目錄,主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp。改步驟是可選的,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了
- 。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾,因?yàn)镾pring Boot 使用的內(nèi)嵌 Tomcat 容器默認(rèn)使用 /tmp 作為工作目錄
- ARG 設(shè)置編譯鏡像時(shí)加入的參數(shù), ENV 是設(shè)置容器的環(huán)境變量
- COPY:只支持將本地文件復(fù)制到容器,還有個(gè)ADD更強(qiáng)大但復(fù)雜點(diǎn)
- ENTRYPOINT 容器啟動(dòng)時(shí)執(zhí)行的命令
- EXPOSE 8080 暴露的鏡像端口
三、構(gòu)建
mvn install dockerfile:build
四、啟動(dòng)
docker run -d --name 名稱 -p 對外端口:容器端口 鏡像ID
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Docker部署springboot項(xiàng)目實(shí)例解析
- Spring Boot利用Docker快速部署項(xiàng)目的完整步驟
- java通過Idea遠(yuǎn)程一鍵部署springboot到Docker詳解
- springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式
- Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案
- Docker部署Spring-boot項(xiàng)目的示例代碼
- Spring Boot應(yīng)用發(fā)布到Docker的實(shí)現(xiàn)
- Spring Boot與Docker部署實(shí)踐
相關(guān)文章
IDEA中使用Docker Compose容器編排的實(shí)現(xiàn)
這篇文章主要介紹了IDEA中使用Docker Compose容器編排的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Spring 整合 MyBatis的實(shí)現(xiàn)步驟
SpringMVC 本來就是 Spring 框架的一部分,這兩者無須再做整合,所以 SSM 整合的關(guān)鍵就是Spring對MyBatis的整合,三大框架整合完成后,將以 Spring 為核心,調(diào)用有關(guān)資源,高效運(yùn)作,這篇文章主要介紹了 Spring 整合 MyBatis的實(shí)現(xiàn)步驟,需要的朋友可以參考下2023-02-02Spring?MVC?前端控制器?(DispatcherServlet)處理流程解析
DispatcherServlet是前置控制器,配置在web.xml文件中的,這篇文章主要介紹了Spring?MVC?前端控制器?(DispatcherServlet)處理流程,需要的朋友可以參考下2022-05-05SpringBoot使用iText7實(shí)現(xiàn)將HTML轉(zhuǎn)成PDF并添加頁眉頁腳水印
這篇文章主要為大家詳細(xì)介紹了SpringBoot使用iText7實(shí)現(xiàn)將HTML轉(zhuǎn)成PDF并添加頁眉頁腳水印的相關(guān)知識,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03