anchor.diff:  
   [source,bash]
   ----
  -podman|docker run --name keycloak_test -p 8080:8080 \
  +podman|docker run --name mykeycloak -p 8080:8080 \
           -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \
           quay.io/keycloak/keycloak:latest \
           start-dev
  
positive.code: ----
  The build process includes multiple stages:
  
  * The `build` command applies options and includes custom providers to create an optimized image.
  * The files generated by the `build` stage are copied into a new image.
  * In this runner image, the specific run configuration is applied. That configuration contains a keystore, the environment-specific hostname configuration, and database configuration.
  * In the entrypoint, the `kc.sh` enables access to all the distribution sub-commands.
  
  This example uses a multi-staged build to demonstrate the build and run steps.  However, you can also build a single-staged docker image by removing the following two lines:
  
  [source, dockerfile]
  ----
  FROM quay.io/keycloak/keycloak:latest
  COPY --from=builder /opt/keycloak/ /opt/keycloak/
  ----
  
  === Building the docker image
  
negative.code: ----
  FROM quay.io/keycloak/keycloak:latest as builder
  
  # Enable health and metrics support
  ENV KC_HEALTH_ENABLED=true
  ENV KC_METRICS_ENABLED=true
  
  # Configure a database vendor
  ENV KC_DB=postgres
  
  WORKDIR /opt/keycloak
  # for demonstration purposes only, please make sure to use proper certificates in production instead
  RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore
  RUN /opt/keycloak/bin/kc.sh build
  
  FROM quay.io/keycloak/keycloak:latest
  COPY --from=builder /opt/keycloak/ /opt/keycloak/
  
  # change these values to point to a running postgres instance
  ENV KC_DB_URL=<DBURL>
  ENV KC_DB_USERNAME=<DBUSERNAME>
  