cloud项目在打包的时候jar包会分布在各个子包的target文件夹下,便携docker-compose会很麻烦。可以通过指定jar包位置解决问题。
例:子项目pom
<build>
<!-- 固定的jar的名字,这样Dockerfile可以固定写 -->
<finalName>run_server</finalName>
<!-- 构建的插件 -->
<plugins>
<!-- springboot构建jar -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
//指定jar包存放路径到父项目的/server_build/build_compose/target下
<outputDirectory>${project.parent.basedir}/server_build/build_compose/target</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
这样在打包的时候除了项目下的target下会有一个jar,在你指定的地址一样会有一个jar,这样就方便编写dockercompose了,可以直接在build _compose文件夹下写docker-compose和dockerfile。
写dockerfile的时候多注意一下就好了,例:
FROM openjdk:8-jdk
VOLUME /tmp
RUN apt-get update && apt-get install -y fontconfig
RUN apt-get install -y fonts-wqy-zenhei fonts-wqy-microhei
WORKDIR /app
COPY target/face_server.jar app.jar
ENTRYPOINT ["nohup", "java", "-jar", "/app/app.jar", ">", "/app/nohup.out", "2>&1", "&"]