【发布时间】:2019-10-03 08:06:10
【问题描述】:
我有一个 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 package 创建 jar
第 2 步:- docker build -t 命令
第 3 步:- docker run -it -d -p 8080:8080
这里一切正常
但是,如果我不执行第 1 步并且想要使用 docker-compose 将应用程序部署在容器中。
在尝试执行 docker-compose up 时出现异常 /target/order-0.0.1-SNAPSHOT.jar 未找到
那么如何在docker-compose中执行mvn package命令?
他们还有其他方法可以实现吗?
这是我的 docker-compose.yml
version: '3'
services:
order:
restart: always
build: ./order
working_dir: /order
volumes:
- /tmp:/logs
expose:
- "8080"
【问题讨论】:
-
你检查过.jar文件是否真的存在吗?
-
您可以拥有一个已经安装了
mvn的基础映像,并将您的应用程序打包在Dockerfile本身中。 -
谢谢@Maroun,会尝试的,但如果你能帮助我使用 DockerFile,它会帮助我
-
你能准确地显示你的 Dockerfile 的位置,你的 compose 文件的位置,你执行这些命令的目录吗?如果根本问题是文件不在您期望的位置,那么在 docker 容器中构建应用程序将无济于事。
标签: java docker docker-compose microservices