anchor.diff:  docker build -f src/main/docker/Dockerfile.multistage -t quarkus-quickstart/getting-started .
   ----
   
  -And finally, run it with:
  +And, finally, run it with:
   
   [source,bash]
   ----
  
positive.code: 
  [WARNING]
  ====
  Before launching our Docker build, we need to update the default `.dockerignore` file as it filters everything except the `target` directory and as we plan to build inside a container we need to be able to copy the `src` directory. So edit your `.dockerignore` and remove or comment its content.
  ====
  
  [source,bash]
  
negative.code: 
  === Using a multi-stage Docker build
  
  The previous section showed you how to build a native executable using Maven or Gradle, but it requires you to have created the native executable first.
  In addition, this native executable must be a Linux 64 bits executable.
  
  You may want to build the native executable directly in a container without having a final container containing the build tools.
  That approach is possible with a multi-stage Docker build:
  
  1. The first stage builds the native executable using Maven or Gradle
  2. The second stage is a minimal image copying the produced native executable
  
  Such a multi-stage build can be achieved as follows:
  
  Sample Dockerfile for building with Maven:
  [source,dockerfile,subs=attributes+]
  ----
  ## Stage 1 : build with maven builder image with native capabilities
  FROM quay.io/quarkus/ubi-quarkus-native-image:21.0.0-java11 AS build
  COPY pom.xml /project/
  COPY mvnw /project/mvnw
  COPY .mvn /project/.mvn
  USER quarkus
  WORKDIR /project
  RUN ./mvnw -B org.apache.maven.plugins:maven-dependency-plugin:3.1.2:go-offline
  COPY src /project/src
  RUN ./mvnw package -Pnative
  
  ## Stage 2 : create the docker final image
  FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
  WORKDIR /work/
  COPY --from=build /project/target/*-runner /work/application
  
  # set up permissions for user `1001`
  RUN chmod 775 /work /work/application \
  