gpt4 book ai didi

java - Docker Compose 出现异常

转载 作者:行者123 更新时间:2023-12-02 05:36:34 27 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,已部署在 docker 容器上,一切正常,但我想使用 docker compose 在 docker 容器中部署和运行该应用程序。

这是我的 DockerFile

FROM java:8
VOLUME /tmp
COPY /target/order-0.0.1-SNAPSHOT.jar order.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/order.jar"]

第 1 步:- 使用 mvn clean 包创建 jar
第 2 步:- docker build -t order
步骤 3:- docker run -it -d -p 8080:8080

这里一切正常

但是如果我不执行步骤 1 并且希望使用 docker-compose 将应用程序部署在容器中。

在尝试执行 docker-compose up 时,出现异常/target/order-0.0.1-SNAPSHOT.jar not found

那么如何在docker-compose中执行mvn package命令呢?

他们还有其他方法可以实现这一目标吗?

这是我的 docker-compose.yml

version: '3'
services:
order:
restart: always
build: ./order
working_dir: /order
volumes:
- /tmp:/logs
expose:
- "8080"

最佳答案

试试这个Dockerfile

FROM maven:alpine AS build
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package


FROM openjdk:alpine
COPY --from=build /home/app/target/*.jar /usr/local/lib/demo.jar
ENTRYPOINT ["java","-jar","/usr/local/lib/demo.jar"]

如果您收到类似无法执行 jar- 文件:“无主 list 属性”的错误
替换最后一个命令

ENTRYPOINT ["java","-cp","/usr/local/lib/demo.jar","com.packagename.classnamewithoutextension"]

关于java - Docker Compose 出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com