Image Naming and URLs
Custom images are typically distinguished by name, version, and commit ID. An image URL consists of the image registry address, project name, image name, version, and commit ID:
You can have multiple tagged versions under the same name and version. When creating a development environment, training job, or inference service, you typically select an image by name and version. If multiple tags exist for the same version, use the image URL selected and displayed on the current page.
Create Custom Images
Building an image consumes instance resources. Before creating an image, confirm that build resources are available in the current region and cluster, and check image registry storage usage. If you plan to use the image across multiple clusters, configure image synchronization after creating or building it.1. Go to the Create Page
- Go to Images > Custom.
- On the Available Images tab, click Create.
2. Configure the Settings
Basic Information
Runtime Information
Build Configuration
First, select a build method, then enter the corresponding build configuration. Do not put long-lived keys in Dockerfiles, regular build arguments, or installation commands. Even if you later delete a file or command, sensitive content may remain in image layers, build history, or logs.- Based on an Existing Image
- Based on a Dockerfile
- From a Third-Party Image Registry
- Import an Existing Image
Use this method to add dependencies to a preset image or an existing custom image.
apt.txt and pip.txt are text files with one dependency per line.The dependency installation method must match the base image. apt is generally used for Ubuntu system dependencies, and yum is generally used for CentOS system dependencies. pip2 and pip3 are used for Python 2 and Python 3 dependencies, respectively.-
Example
apt.txt: -
Example
pip.txt:
3. Submit the Build
After configuring the settings, click Create to submit the build task. After submission, you can check the build status and logs in Image Build Task List. When the build succeeds, the image appears in Available Images.Save an Image from a Development Environment
You can also save a development environment as a custom image. This is useful when you have installed software and debugged dependencies in a development environment and want to preserve the current container file system as a reusable image.1. Confirm What to Save
Before saving an image, confirm that the dependencies, tools, and configuration you want to reuse have been written to the container file system. Saving an image does not back up mounted Volumes or process memory. Code, models, data, and training results that exist only on mounted Volumes remain in their original storage; mount that storage again when you use the image later. Before saving, remove credentials, temporary tokens, and other sensitive content that should not be included in the image. For environments that require long-term maintenance, keep a Dockerfile or dependency list as well instead of relying only on a one-time save.2. Submit the Image Save
Keep the development environment running. Use the Save Image entry on the development environment page, enter the image name, version, and build information, and submit the request. The development environment might be temporarily unavailable while the image is being saved. We recommend saving when no interactive work is in progress. Do not stop, delete, or reschedule the source environment, or make extensive dependency changes at the same time. For the specific entry and steps, see Use a JupyterLab Development Environment or Use a VSCS Development Environment.3. Verify the Save Result
After submitting, confirm that the build succeeded in Image Build Task List. If saving fails, review the build logs and first check the container size, build resources, dependency files, and source environment status. After a successful save, verify key dependencies in a new development environment or a small workload rather than checking them only in the original environment.View Build Results
After submitting a build task, check its status in Image Build Task List. If a build fails, first review the errors in the build logs, then use the scheduling information to determine whether the cause is dependency installation, the Dockerfile, image pulling, resource scheduling, or synchronization settings.Frequently Asked Questions
What should I do if a build task stays queued for a long time?
What should I do if a build task stays queued for a long time?
Check the build resources, resource pool availability, remaining user quota, and scheduling information. If the build is waiting for resources, do not repeatedly submit tasks with the same name and version.
What should I check first when a build fails?
What should I check first when a build fails?
First review the errors in Build Logs, then use the scheduling information to identify the failure stage. Common causes include dependency installation failures, an incorrect Dockerfile path, a failure to pull the base image, command execution errors, or insufficient build resources.
What should I do if apt or pip installation fails?
What should I do if apt or pip installation fails?
Check the package name, version, installation source, and compatibility with the base environment. To pin dependency versions, declare them in the Dockerfile or a dependency file to avoid pulling incompatible versions during the build.
What should I do if the Dockerfile cannot find a file?
What should I do if the Dockerfile cannot find a file?
Check the build inputs, working directory, and file reference paths. Files referenced by the Dockerfile must be in the current build context.
What should I do if importing an external image fails?
What should I do if importing an external image fails?
Check the source registry address, authentication information, network access, and target registry errors. Grant private registry credentials only the minimum permissions needed to pull or import images.
What should I do if I cannot find the image in the target workload after a successful build?
What should I do if I cannot find the image in the target workload after a successful build?
Return to Available Images and confirm that the image’s region, target cluster URL, shared Project Groups, and filters are as expected. For cross-cluster use, also confirm that image synchronization has completed.

