Search code examples
dockermavendocker-composequarkus

Im trying to run mvn quarkus:dev in docker container, but it dosent seem to work properly


mvn quarkus:dev works as in i get the quarkus logo and Listening on: http://localhost:8080 but when i try to connect to localhost:8080 it fails and i get "connection was reset", am i missing something?

this is my setup

docker-compose.yml

version: '3.7'
services:
  planner:
    container_name: planner
    build:
      context: ../
      dockerfile: ./docker/planner/Dockerfile
    ports:
      - "8080:8080"
    volumes:
      - ../ezuro/planner/src/main/java:/planner/src/main/java

Dockerfile

FROM maven:latest

WORKDIR /planner

COPY ./ezuro/planner .

CMD mvn quarkus:dev

i tried connecting to quarkus with other docker containers and that also didnt work so im out of ideas, i just need so the container can be connected to and hot reload works


Solution

  • You may need to add host in application.properties, or define custom profile for docker (applicaiton-docker.properties)

    Here is working example:

    application.properties

    quarkus.http.host=0.0.0.0
    

    Dockerfile

    FROM maven:3-eclipse-temurin-17-alpine
    COPY . /code
    WORKDIR /code
    CMD mvn clean compile
    

    docker-compose.yaml

    version: '3.7'
    services:
      quarkus-app:
        container_name: quarkus-app
        build:
          dockerfile: ./Dockerfile
        ports:
          - "8080:8080"
          - "5005:5005" # Debugging port
        working_dir: /code
        entrypoint: [ "mvn", "clean", "quarkus:dev" ]
        volumes:
          - .:/code
    

    EDIT: Repo with example project https://github.com/bgizdov/quarkus-3.2-dev-mode-docker

    just run docker-compose up