Maven 在docker编写命令之前执行mvn clean install
我在docker容器中运行多个spring boot microservice。 我正在编写docker-compose.yml文件以自动取消部署,但我遇到了一个问题。 所有spring boot微服务都有不同的配置文件,这取决于您是否希望在本地不使用docker运行它们,以及您是否希望使用docker运行另一个ig(基本上,每个配置文件都会更改微服务之间客户端的URL) 如果我运行docker compose up,并且已经编译的jar文件没有使用“docker”spring启动配置文件进行编译,它将使用错误的jar创建映像 MY DOCKER-COMPOSE.YML示例:Maven 在docker编写命令之前执行mvn clean install,maven,spring-boot,docker,compilation,docker-compose,Maven,Spring Boot,Docker,Compilation,Docker Compose,我在docker容器中运行多个spring boot microservice。 我正在编写docker-compose.yml文件以自动取消部署,但我遇到了一个问题。 所有spring boot微服务都有不同的配置文件,这取决于您是否希望在本地不使用docker运行它们,以及您是否希望使用docker运行另一个ig(基本上,每个配置文件都会更改微服务之间客户端的URL) 如果我运行docker compose up,并且已经编译的jar文件没有使用“docker”spring启动配置文件进行编
version: "3"
services:
imageserver:
build:
context: ./ImageServer
dockerfile: Dockerfile
ports:
- 8081:8081
networks:
- my-private-network
core:
build:
context: ./Core
dockerfile: Dockerfile
ports:
- 8082:8082
networks:
- my-private-network
networks:
my-private-network:
my-public-network
我的DOCKERFILE示例之一:
FROM openjdk:8-jdk-alpine
LABEL maintainer="lalala@gmail.com"
VOLUME /tmp
EXPOSE 8082
COPY ./target/*.jar Core.jar
ENTRYPOINT ["java","-jar","/Core.jar"]
在运行docker compose之前,是否有任何方法在每个目录中执行类似“mvn clean install-p docker”的命令,以确保将包含在映像中的jar已使用正确的配置文件编译?
在cretae容器之前必须激活该命令(从容器中取出以合成将包含在容器中而不是容器中的jar)
谢谢您必须能够使用在Dockerfile上运行,并进行
maven干净安装
。但你为什么要这么做?将Docker build集成到maven中,并在您想要构建映像的配置文件上配置相同的内容 我找到了更好的解决方案!
我可以不使用概要文件进行编译,但是我可以使用java-jar选择spring概要文件
感谢您的评论、回复 在cretae容器之前必须激活该命令(从容器中取出以合成将包含在容器中而不是容器中的jar),您可能最好尝试构造图像,这样您就不需要重建图像以在不同的环境中运行它们。Spring Boot可以,这将是一种更好的方法。我不想在容器中编译代码,但谢谢