如何确保mysql容器在docker compose中启动并运行后构建web映像?

pepwfjgg  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(202)

在当前建造顺序下
生成本地主机映像
构建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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题