This repository provides two Docker images built via the corresponding Dockerfiles:
- C++ Tools Base Image: defined in
cpp_tools.Dockerfile - Qt Image: defined in
qt.Dockerfile, based on the C++ Tools Base Image
To use, simply pull the images from GitHub Container Registry:
docker pull ghcr.io/optimalcnc/docker_images:cpp_tools-22.04cpp_tools-22.04: Ubuntu 22.04 C++ development tools base imagecpp_tools-24.04: Ubuntu 24.04 C++ development tools base imageqt-6.5.3-22.04: Qt 6.5.3 on Ubuntu 22.04, includes qtbase and ICUqt-6.4.2-22.04: Qt 6.4.2 on Ubuntu 22.04, includes qtbase and ICUqt-6.5.3-24.04: Qt 6.5.3 on Ubuntu 24.04, includes qtbase and ICUqt-6.4.2-24.04: Qt 6.4.2 on Ubuntu 24.04, includes qtbase and ICU
Image build and release are managed by GitHub Actions workflow: .github/workflows/docker_release.yml. The main steps:
- Define a build matrix for Ubuntu versions (
22.04,24.04) and Qt versions (6.5.3,6.4.2). - Build and push the C++ Tools Base Image (
cpp_tools-<UBUNTU>). - Build and push the Qt Image (
qt-<QT_VERSION>-<UBUNTU>) based on the base image. - Run sample compile tests, then push final Qt images to
ghcr.io/optimalcnc/docker_images.
Only qtbase and icu are installed by default.
To install additional archives such as qtmultimedia, qtdeclarative, and qtsvg, run:
aqt install-qt linux desktop ${QT_VERSION} --archives qtmultimedia qtdeclarative qtsvg --outputdir ${QT_HOME}To list available archives:
aqt list-qt linux desktop --archives ${QT_VERSION} gcc_64To install Qt modules such as qtcharts or qtdatavis3d, use:
aqt install-qt linux desktop ${QT_VERSION} --archives qtbase --outputdir ${QT_HOME} --modules qtcharts qtdatavis3dTo list available modules:
aqt list-qt linux desktop --long-modules ${QT_VERSION} gcc_64You can also install qt-tools, qt-examples, etc. For full details, refer to the aqt documentation.