Container Support

Overview

Images for LinuxForHealth applications and services are available under the LinuxForHealth Organization on Docker Hub . Supported platforms include:

  • x86/amd64

  • arm64

  • s390x/Z

Alpine base images are utilized wherever possible to enable small memory footprints (Kafka & Zookeeper), especially to enable the arm64 arch-type.

LFH images run within any standard container runtime and orchestration environment. The connect project provides example yaml files to deploy the application and support services on a kubernetes cluster.

LFH provides management scripts to support the following runtimes:

  • Docker Compose (in ./connect)

  • Kubernetes Cluster Deployments (in ./connect/k8s-deployment)

LFH Base Image

The LFH base image is used as the base image for all LFH images when possible. The LFH base image provides the following:

  • a standard non-privileged application user, lfh

  • a root directory, /opt/lfh, for applications and services

  • updated permissions which allow the “root group” (not root user) access to /opt/lfh

Building Images

LFH images are built to support multiple architectures, including x86/amd, arm64, and s390x/Z. Multi-arch builds are supported in OCI compliant tools such as docker. The following docker command illustrates a multi-arch build for the LFH connect project:

docker buildx build \
    --pull \
    --push \
    --platform linux/amd64,linux/arm64,linux/s390x \
    -t [image repository]/connect:1.0.0 .

The image tag, specified by “-t”, may be updated to push the image to a different repository.

If a multi-arch build is not required, a standard “build” command may be used. The following command builds the LFH connect image for the target platform:

docker build -t [image repository]/connect:1.0.0 .

For more information on available images and specific build commands please visit the LFH Images Repo .