在当前建造顺序下
生成本地主机映像
构建web映像
运行localhost容器
运行web容器
这将在步骤2中失败,因为src处的java不会编译,因为它不能编译到localhost,因为localhost映像没有运行。解决方案是将当前生成顺序更改为:
在当前建造顺序下
生成本地主机映像
运行localhost容器
构建web映像
运行web容器
如何在dockerfile和/或docker-compose.yml中实现这一点?
dockerfile文件
# Build
FROM maven:latest AS BUILD
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
RUN cd /usr/src/app &&\
mvn install
# ENVIRONMENT
FROM openjdk:16
COPY --from=BUILD /usr/src/app/target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker-compose.yml公司
version: '3'
services:
localhost:
image: mysql:5.7.34
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=virtual_election
- MYSQL_USER=myapp-user
- MYSQL_PASSWORD=password
network_mode: host
web:
image: web
restart: on-failure
build:
context: ./
dockerfile: Dockerfile
depends_on:
- localhost
network_mode: host
暂无答案!
目前还没有任何答案,快来回答吧!