一、新增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>
二、建立Dockerfile
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
參數解說:
#FROM
後續建置會基於此映像,若同一個Dockerfile建立多個映像時,可以使用多個FROM指令
VOLUME 配置一個具有持久化功能的目錄,主機/var/lib/docker 目錄下建立了一個臨時文件,並連結到容器的/tmp。改步驟是可選的,如果涉及到檔案系統的應用就很有必要了
。 /tmp目錄用來持久化到Docker 資料資料夾,因為Spring Boot 使用的內嵌Tomcat 容器預設使用/tmp 作為工作目錄
ARG 設定編譯鏡像時加入的參數, ENV 是設定容器的環境變數
COPY:只支援將本機檔案複製到容器,還有一個ADD更強大但複雜點
ENTRYPOINT 容器啟動時執行的命令
EXPOSE 8080 暴露的鏡像連接埠
EXPOSE 8080 暴露的鏡像連接埠
##三、建置
###mvn install dockerfile:build
docker run -d --name 名称 -p 对外端口:容器端口 镜像ID
以上是springboot中docker的原理分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!