具有模块依赖性的Spring Boot Docker Maven插件

时间:2018-04-12 00:08:56

标签: docker spring-boot docker-maven-plugin

我正在使用docker-maven-plugin(Spotify)在我的Spring Boot项目中构建Dockerfile生成的docker镜像。如果项目没有任何模块依赖项,那么它运行良好。 但是如果一个模块依赖于另一个模块:

<dependency>
    <groupId>com.mysite</groupId>
    <artifactId>helper</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

当我跑步时

./ mvnw install dockerfile:build

我得到了

  

无法解析项目的依赖项   com.mysite:web:jar:0.0.1-SNAPSHOT:以下工件不能   解决:com.mysite:helper:jar:0.0.1-SNAPSHOT

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您不需要插件即可完成此操作。

1)创建一个Dockerfile

FROM openjdk:8-jre-alpine

COPY build/libs/yourapp-0.0.1-SNAPSHOT.jar /application.jar

CMD ["java", "-jar", "/application.jar"]

2)创建一个shell脚本,或使用简单的Makefile进行构建:

VERSION ?= $(shell git rev-parse HEAD)
APP     ?= k8specs-platform-api
IMAGE   ?= gcr.io/matthewdavis-devops/$(APP):$(VERSION)

.PHONY: build

all: build push

build:

    ./gradlew bootJar
    docker build -t $(IMAGE) .

run:

    docker run -p 8080:8080 $(IMAGE)

push:

    docker push $(IMAGE)

3)只需运行make all即可获利!

不需要愚蠢的插件;)