Dockerfile与Docker Compose(Java)

huangapple 未分类评论45阅读模式
标题翻译

Dockerfile vs Docker Compose (Java)

问题

Dockerfile (可运行)

FROM openjdk:8
ADD target/global-hall-of-fame.jar global-hall-of-fame.jar
EXPOSE 8083
ENTRYPOINT ["java", "-jar", "global-hall-of-fame.jar"]

然后...

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 (有问题)

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"
英文翻译

I had the dockerfile and it worked well but I wanted to try with compose.
My issue is that the jar is never found. How can I say to the compose that it must build the jar using mvn clean package and pick the jar from ../api/target ??

> global-hall-of-fame-api | Error: Unable to access jarfile global-hall-of-fame.jar
>
>

Dockerfile (works)

FROM openjdk:8
ADD target/global-hall-of-fame.jar global-hall-of-fame.jar
EXPOSE 8083
ENTRYPOINT ["java", "-jar", "global-hall-of-fame.jar"]

And then...

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 (doesn't work)

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"

huangapple
  • 本文由 发表于 2020年3月16日 23:42:49
  • 转载请务必保留本文链接:https://java.coder-hub.com/60708997.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定