# Build a custom image If the prebuilt images don’t meet your needs, you can build your own Cloud AI Docker image using the Apps SDK scripts in `common/tools/docker-build/`. The QAic Docker image build scripts have the following structure: ├── build_image.py ├── config │ ├── applications │ ├── base_image │ ├── build_type │ ├── python_version │ └── sdk ├── image_schema.json ├── README.md ├── requirements.txt └── sample_user_specs Copy to clipboard ## Download SDK packages - Download Apps SDK and Platform SDK from [Qualcomm Package Manager](https://qpm.qualcomm.com/). - Docker containers require the Cloud AI device drivers to communicate with the devices. Install the Platform SDK on the host bare metal OS or VM. - Unzip Apps SDK and the build scripts are located under `common/tools/docker-build/` unzip aic_apps.Core.1.21.2.0.Linux-AnyCPU.zip cd qaic-apps-1.21.2.0/common/tools/docker-build/ Copy to clipboard - Install python modules listed in requirements.txt, preferably in a virtual environment python3.10 -m venv /venv_directory/qaic_docker_venv . /venv_directory/qaic_docker_venv/bin/activate (qaic_docker_venv) $ pip install -r requirements.txt Copy to clipboard ## Build image The QAic Docker build script is used to create a new Docker image that includes the Qualcomm Cloud AI Apps SDK and Platform SDK on a supported operating system. The command to build the Docker image is: python3 build_image.py [ --user_specification_file (Required) ] \ [ --mirror (Optional) ] \ [ --apps_sdk (Optional) /qaic/apps/sdk/zip/path ] [ --platform_sdk (Optional) /qaic/platform/sdk/zip/path ] [ --qnn_sdk (Optional) ] \ [ --arch (Optional) ] [ --external_dist_files (Optional) ] \ [ --tag (Optional) ] [ --log_level (Optional) ] [ --no_cache (Optional) ] Copy to clipboard The resulting Docker image is named by the convention: qaic-\-----\:\ Copy to clipboard ### Build configuration options The following options are used to configure the Docker image build process for Cloud AI Inference containers. | Option | Description | | --- | --- | | `user_specification_file` | Specifies the path to the user specification JSON file that defines image
build parameters and dependencies. | | `mirror` | Specifies the registry mirror location for base images in Docker format
(for example, `host.domain/dir/`). | | `arch` | Specifies the target architecture for the image build. Supported values
are `x86_64` and `aarch64`. The default is the host architecture. | | `tag` | Specifies the tag to assign to the generated Docker image. | | `apps_sdk` | Specifies the path to the Apps SDK ZIP file. This option overrides the
corresponding value if it’s already specified in the
`user_specification_file`. | | `platform_sdk` | Specifies the path to the Platform SDK ZIP file. This option overrides the
corresponding value if it’s already specified in the
`user_specification_file`. | | `external_dist_files` | Specifies external files required during the Docker image build. This
option overrides any `external_dist_files` entries defined in the
`user_specification_file`. | | `log_level` | Specifies the logging verbosity using a numeric value:
`debug=1`, `info=2`, `warning=3`, `error=4`, `critical=5`. | | `no_cache` | Disables Docker’s internal layer cache during the image build. This option
is typically used for debugging. | For example: python3 build_image.py --user_specification_file ./sample_user_specs/user_image_spec_qaic.json --apps_sdk /path/to/aic_apps.Core.1.21.2.0.Linux-AnyCPU.zip \ --platform_sdk /path/to/aic_platform.Core.1.21.2.0.Linux-AnyCPU.zip --tag 1.21.2.0 Copy to clipboard To check the Docker image created with above script: docker images Copy to clipboard REPOSITORY TAG IMAGE ID CREATED SIZE qaic-x86_64-ubuntu22-py310-py38-release-qaic_platform-qaic_apps 1.21.2.0 f784c37d7f18 2 hours ago 4.25GB Copy to clipboard ## Supported operating systems Docker container for Qualcomm Cloud AI supports different operating system distributions. See [supported operating systems](https://docs.qualcomm.com/doc/80-99100-3/topic/prerequisites.html#reference-to-supported-os) for a list of supported operating systems, kernel requirements, and software requirements. ## Features - Incremental Docker image build infrastructure optimizes disk usage and rebuilding time - Flexibility to override specification options such as SDK paths, external dist files through command line options - User provided image specification is resolved for dependencies and dumped as autocompleted\_user\_specification.json - Supports multi-platform builds ### Incremental build layers The configurations are grouped as shown below to minimize the need for rebuild and to allow sharing layers. This enables reduction of disk usage and allows faster rebuild. ![../../../../../_images/docker_layers.png](data:image/png;base64,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) ### Image specification The user provides a specification JSON file that defines the items to build in each group and lists any external file dependencies. The build script auto-completes the configuration by resolving dependencies for the specified nodes. Sample user specification files are available in the `sample_user_specs` directory under `tools/docker-build/` in the Apps SDK. Supported keys in the JSON file include the following: - `build_type`: Required, accepts a single value. - `applications`: Optional, accepts a list of values. - `sdk`: Optional, accepts a dictionary of values (sdk type: file-path/boolean) - `python_version`: Optional, accepts a single value - `base_image`: Required, accepts a single value. - `external_dist_files`: Optional, allows specifying external files required in Docker image build. Accepts a list of values. Example: { "applications": ["pytools", "aimet", "pybase"], "sdk": { "qaic_apps": "/path/to/aic_apps.Core.1.21.2.0.Linux-AnyCPU.zip", "qaic_platform": "/path/to/aic_platform.Core.1.21.2.0.Linux-AnyCPU.zip" }, "python_version": "py310", "base_image": "ubuntu22", "external_dist_files": ["/path/to/aimetpro-1.26.0-RC7.torch-gpu-release.tar.gz"] } Copy to clipboard Minimal user specification to build the same image: { "applications": ["aimet"], "sdk": { "qaic_apps": "/path/to/aic_apps.Core.1.21.2.0.Linux-AnyCPU.zip", "qaic_platform": "/path/to/aic_platform.Core.1.21.2.0.Linux-AnyCPU.zip" }, "external_dist_files": ["/path/to/aimetpro-1.26.0-RC7.torch-gpu-release.tar.gz"] } Copy to clipboard `sdk` and `external_dist_files` can be omitted here and provided through command-line options. ### Overridable options SDK, external dist files configuration rely on file paths. These keys can be specified either through specification file or command line options. command line specification takes precedence when specified through both. ### Specification auto-completion The Docker image may constitute base image + layers from other groups specified in the figure above. Resolution of dependencies is done top-down for the specified groups. Applications - Resolved as union of dependencies in same level. SDK - Resolved as union of dependencies from higher levels and same level. Python Version - Resolved as intersection of dependencies from higher levels of which preferred node is chosen. Build Type - Resolved as intersection of dependencies from higher levels of which preferred node is chosen. Base Image - Resolved as intersection of dependencies from higher levels of which preferred node is chosen. ### Multi-platform builds Use the `-arch` command line option with the build command to configure building the image for the preferred architecture (x86\_64 / aarch64). Last Published: Aug 25, 2026 [Previous Topic Production Serving and Management](https://docs.qualcomm.com/bundle/publicresource/80-99100-3/topics/production-serving-management.md) [Next Topic Launch container](https://docs.qualcomm.com/bundle/publicresource/80-99100-3/topics/launch-container.md)