AlmaLinux 10 with qt5 and openjdk-25 (multi-arch: linux/amd64, linux/amd64/v2, linux/arm64).
AlmaLinux 10 replaces the legacy CentOS 7/8 images (both are EOL). Qt5 is installed from EPEL 10, since AlmaLinux 10 itself only ships Qt6.
Note: the linux/amd64 image requires an x86-64-v3 CPU (AVX2, roughly Intel Haswell / AMD Excavator or newer).
On older x86 CPUs it fails with Fatal glibc error: CPU does not support x86-64-v3, use the linux/amd64/v2 variant there:
docker pull --platform linux/amd64/v2 astvision/almalinux-qt5-java25:latest
or set platform: linux/amd64/v2 on the service in docker-compose.yml.
docker build --tag astvision/almalinux-qt5-java25:latest -f Dockerfile_almalinux10_java25 .
Multi-arch build and push (needs a docker-container builder, or the containerd image store enabled):
docker buildx create --name multiarch --driver docker-container --use
docker buildx build --platform linux/amd64,linux/amd64/v2,linux/arm64 --tag astvision/almalinux-qt5-java25:latest -f Dockerfile_almalinux10_java25 --push .
.github/workflows/almalinux10-qt5-java25.yml builds
amd64, amd64/v2 and arm64 on native runners and pushes a multi-arch image to Docker Hub.
The weekly rebuild is in .github/workflows/almalinux10-qt5-java25-weekly.yml.
| Event | Tags pushed |
|---|---|
push to master changing the Dockerfile or workflow, manual run |
latest, sha-<commit> |
push tag v1.2.3 |
1.2.3, 1.2, latest, sha-<commit> |
| weekly schedule | latest, <yyyymmdd>, sha-<commit> |
| pull request | build only, nothing pushed |
GitHub disables the weekly workflow after 60 days without commits in the repository (it emails a warning first). Re-enable it under Actions → almalinux10-qt5-java25-weekly → Enable workflow.
Required repository settings (Settings → Secrets and variables → Actions):
- variable
DOCKERHUB_USERNAME- Docker Hub user with push access toastvision/almalinux-qt5-java25 - secret
DOCKERHUB_TOKEN- Docker Hub access token with read/write scope
Create the public repository astvision/almalinux-qt5-java25 on Docker Hub before the first run,
only organization owners/editors can create a repository by pushing to it.
git tag -a "v$version" -m "version $version"
git push --tags
Kept for reference only. The CentOS 7 Dockerfiles no longer build as-is, since its repositories moved to vault.centos.org.
docker build --tag astvision/centos7-qt5-java8:latest -f Dockerfile_java8 .
docker build --tag astvision/centos-qt5-java17:latest -f Dockerfile_java17 .
docker push astvision/centos7-qt5-java8:latest
docker push astvision/centos-qt5-java17:latest