我已经从https://github.com/spring-cloud/spring-cloud-dataflow的GitHub下载了Spring cloud Dataflow服务器代码。我正在尝试理解如何为这个服务器构建docker镜像。但是我在这个代码库中找不到dockerfile。
参考文档部分“添加自定义JDBC驱动程序”需要修改Pom.xml并用很少的信息进行重新构建。我需要使用自定义jar并重新构建镜像。
我已经看过这篇文章了,https://github.com/spring-cloud/spring-cloud-dataflow/issues/2489,但我正在尝试理解Spring Dataflow服务器的原始镜像是如何构建的。
发布于 2019-07-04 17:08:25
构建Spring Cloud数据流服务器的Maven配置是here
要构建docker镜像,您可以从克隆的存储库运行以下命令(假设您使用的是最新版本):
./mvnw clean install -DskipTests
./mvnw docker:build -pl spring-cloud-dataflow-server发布于 2019-07-30 12:13:41
谢谢戈皮纳坦。我使用了下面的docker文件,而不是更改POM.xml并重新构建docker镜像。
FROM mcr.microsoft.com/java/jdk:8u212-zulu-alpine as build
RUN apk add --update \
curl \
&& rm -rf /var/cache/apk/*
WORKDIR /workspace/app
RUN mkdir target
RUN curl -sS -o /workspace/app/target/spring-cloud-dataflow-server-2.1.2.RELEASE.jar https://repo.spring.io/release/org/springframework/cloud/spring-cloud-dataflow-server/2.1.2.RELEASE/spring-cloud-dataflow-server-2.1.2.RELEASE.jar
RUN curl -sS -o /workspace/app/target/mysql-connector-java-8.0.16.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar
RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../spring-cloud-dataflow-server-2.1.2.RELEASE.jar)
RUN cp /workspace/app/target/mysql-connector-java-8.0.16.jar /workspace/app/target/dependency/BOOT-INF/lib/
FROM mcr.microsoft.com/java/jdk:8u212-zulu-alpine
VOLUME /tmp
ARG DEPENDENCY=/workspace/app/target/dependency
COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app
RUN echo "$(ls -lR /app)"
ENTRYPOINT ["java","-cp","app:app/lib/*","org.springframework.cloud.dataflow.server.single.DataFlowServerApplication"]发布于 2019-07-04 14:13:43
dockerfile- from -image将有助于从docker镜像进行逆向工程。
https://stackoverflow.com/questions/56879764
复制相似问题