anchor.diff:  
   [source,bash]
   ----
  -podman|docker build . -t prebuilt_keycloak
  +podman|docker build . -t mykeycloak
   ----
   
   === Starting the optimized Keycloak docker image
   To start the image, run:
  +
   [source, bash]
   ----
  -podman|docker run --name optimized_keycloak -p 8443:8443 \
  +podman|docker run --name mykeycloak -p 8443:8443 \
           -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \
  -        prebuilt_keycloak \
  +        mykeycloak \
           start --optimized
   ----
  +
   Keycloak starts in production mode, using only secured HTTPS communication, and is available on `https://localhost:8443`.
  -Notice that the startup log contains the following line:
  -[source, bash]
  -----
  -INFO  [org.key.com.Profile] (main) Preview feature enabled: token_exchange
  -----
  -This message shows the desired feature is enabled.
   
   Health check endpoints are available at `https://localhost:8443/health`, `https://localhost:8443/health/ready` and `https://localhost:8443/health/live`.
   
   Opening up `https://localhost:8443/metrics` leads to a page containing operational metrics that could be used by your monitoring solution.
  +
  +== Exposing the container to a different port
  +
  +By default, the server is listening for `http` and `https` requests using the ports `8080` and `8443`, respectively.
  +
  +If you want to expose the container using a different port, you need to set the `hostname-port` accordingly:
  +
  +. Exposing the container using a port other than the default ports
  +[source, bash]
  +----
  +podman|docker run --name mykeycloak -p 3000:8443 \
  +        -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=change_me \
  +        mykeycloak \
  +        start --optimized --hostname-port=3000
  +----
  +
  +By setting the `hostname-port` option you can now access the server at `https://localhost:3000`.
   
   == Trying Keycloak in development mode
   The easiest way to try Keycloak from a container for development or testing purposes is to use the Development mode.
  
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>
  