Sign inSign up

schnatterer/quarkus-getting-started

By schnatterer

•Updated over 7 years ago

Result of quarkus.io getting started in a self-contained minimal docker image

Image
0

2.7K

schnatterer/quarkus-getting-started repository overview

⁠quarkus-getting-started

Result of the quarkus.io getting started⁠ - slightly extended so

  • a GraalVM native image can be built using a "self-contained" Dockerfile that does not require to build or install anything locally and
  • to be compiled statically so a minimal (scratch) docker base image can be used.

To build just run

docker build -t quarkus/getting-started .

Then start the container with

docker run -i --rm -p 8080:8080 quarkus/getting-started

⁠Base images compared

As of April 2019, the quarkus.io getting started uses the fedora image to pack the final image. This repo provides a couple of other base images that compare as follows

Base ImageSizeShellPackage ManagerlibcBasic Linux FoldersStatic BinaryDockerfile
fedora☒☒☒☒☐📄⁠
debian☒☒☒☒☐📄⁠
alpine-glibc☒☒☒☒☐📄⁠
distroless-base☐☐☒☒☒📄⁠
busybox☒☐☒☒☒📄⁠
distroless-static☐☐☐☒☒📄⁠
scratch☐☐☐☐☒📄⁠

Note that

  • size is the compressed size within the DockerHub registry,
  • if a shell is needed
    • distroless images offer a debug tag (e.g.) gcr.io/distroless/base:debug that includes a shell. That is, the image can easily be built with a shell if necessary,
    • for scratch or in general at runtime you could just copy a statically compiled shell into the container, if needed for debugging (except, of course, you're using a read-only filesystem):
docker run --rm --name quarkus-getting-started schnatterer/quarkus-getting-started

docker create --name busybox busybox
docker cp busybox:/bin/busybox busybox
docker cp busybox quarkus-getting-started:/busybox
docker exec -it quarkus-getting-started /busybox sh

Tag summary

Content type

Image

Digest

Size

7.1 MB

Last updated

over 7 years ago

docker pull schnatterer/quarkus-getting-started