Dockerfile与Docker Compose(Java)

Dockerfile与Docker Compose(Java),java,docker,docker-compose,Java,Docker,Docker Compose,我有dockerfile,它工作得很好,但我想尝试与撰写。 我的问题是这个罐子永远找不到。我怎么能对compose说它必须使用mvn clean package构建jar,并从。/api/target中选择jar 全球名人堂api |错误:无法访问jarfile global-hall-of-fame.jar Dockerfile(工作) 然后 docker run --name global-hall-of-fame-api -d --link global-hall-of-fame-db:g

我有dockerfile,它工作得很好,但我想尝试与撰写。 我的问题是这个罐子永远找不到。我怎么能对compose说它必须使用
mvn clean package
构建jar,并从
。/api/target
中选择jar

全球名人堂api |错误:无法访问jarfile global-hall-of-fame.jar

Dockerfile(工作)

然后

docker run --name global-hall-of-fame-api -d --link global-hall-of-fame-db:global-hall-of-fame-db -p 8083:8083 global-hall-of-fame-api
Docker Compose(不工作)


尝试删除以下行:working_dir:/global hall of fame api和命令:“mvn clean spring boot:run”也请提供错误信息
docker run --name global-hall-of-fame-api -d --link global-hall-of-fame-db:global-hall-of-fame-db -p 8083:8083 global-hall-of-fame-api
version: '3'
services:
  global-hall-of-fame-db:
    container_name: global-hall-of-fame-db
    image: mysql:8.0.18
    environment:
      MYSQL_DATABASE: global-hall-of-fame-db
      MYSQL_ROOT_PASSWORD: admin
      MYSQL_ROOT_HOST: '%'
    ports:
      - "3306:3306"
    restart: always
  global-hall-of-fame-api:
    container_name: global-hall-of-fame-api
    depends_on: 
      - global-hall-of-fame-db
    restart: always
    build: ../api
    working_dir: /global-hall-of-fame-api
    volumes:
      - ./:/global-hall-of-fame-api
      - ~/.m2:/root/.m2
    expose:
      - "8083"
    command: "mvn clean spring-boot:run"