Prerequisites
- Bootstrap completed with all dependency groups passing
- Docker installed and running on all target nodes
- Network connectivity to the internet (online mode) or a
.tar.gzimage archive file (offline mode)
Overview Tab
The Overview tab provides a real-time status dashboard for Docker and the local registry without modifying anything on the system.Docker Engine
Running status, installed Docker version, and total number of locally cached images on the current server.
Local Registry
Registry container (
docker-registry:4000) operational status and total stored image count. The registry serves images to all cluster nodes over the internal network.Registry Controls
Action buttons to Deploy, Start, and Stop the local registry container. Deploy creates the container for the first time; Start and Stop manage its lifecycle afterward.
The local registry runs as a Docker container listening on port 4000. It is accessible to all cluster nodes at
docker-registry:4000 — no TLS required for internal communication.Getting Images
Container images can be loaded from two sources depending on your network environment. After loading images into Docker, push them to the local registry so all cluster nodes can access them.- Extract / Pull
Use this tab to load container images from offline archives or pull them from an online registry. The tab provides two sub-tabs: Extract for offline deployments and Pull for online deployments.
After extraction completes from either source, click Push to Local Registry to distribute all loaded images to
Extract (Offline)
Use Extract when your servers have no internet access or when deploying in air-gapped environments. Images can be loaded from two sources:- USB Device
- Server Storage
Load images directly from a USB storage device connected to the deployment server. This is the primary method for air-gapped data centers where images are delivered on physical media.
Connect USB Storage
Connect the USB storage device containing the image archive to the deployment server. The tool automatically detects connected USB storage devices and displays them in the USB Storage Detection section.
Select Archive
Browse the detected USB device and select the
.tar.gz image archive file. The tool displays the archive filename and size for confirmation.Copy to Server
Set the Destination path (default:
/var/lib/xavs/images) and click Copy to Server to transfer the archive from the USB device to local server storage. This ensures extraction runs from local disk for maximum performance.Copying from USB to local storage first avoids slow extraction speeds caused by USB transfer rates. The default destination has sufficient space for full release archives.
docker-registry:4000. This makes images available to every node in the cluster.Pull (Online)
Use Pull when the deployment node has internet access and can reach the Xloud cloud registry.Verify Connectivity
Confirm that the deployment node can reach the Xloud container registry over HTTPS. The tool tests connectivity automatically and displays the result.
Pull Images
Click Pull to download all required container images from the configured image catalog. Each image is downloaded with its full layer chain and stored in the local Docker daemon.
Registry Management
The local Docker registry is the central image distribution point for your cluster. All nodes pull container images from this registry during deployment and scaling operations.Deploy the Registry
Deploy the Registry
Creates and starts the
docker-registry container for the first time. The registry listens on port 4000 and stores images in a persistent Docker volume.Start / Stop / Restart
Start / Stop / Restart
Lifecycle controls for the registry container. Stop halts the registry; Start resumes it. Stored images persist across restarts in the backing volume.
Browse Catalog
Browse Catalog
Displays the complete catalog of images stored in the registry, including all available tags per image. Use this view to verify that all required service images are present before running deployment.
Monitor Storage
Monitor Storage
Shows disk space consumed by the registry volume. Large environments with multiple image versions can consume significant storage — monitor usage and clean up unused tags periodically.
Delete Unused Images
Delete Unused Images
Removes old or unused image tags from the registry to reclaim disk space. Exercise caution — deleting an image that a running container depends on prevents that container from restarting.
Docker Configuration
The Images tool provides an editor for/etc/docker/daemon.json — the Docker daemon configuration file. Changes here affect how Docker pulls, stores, and logs container images.
| Setting | Purpose | Default |
|---|---|---|
| Insecure Registries | Allow Docker to pull from docker-registry:4000 over HTTP (non-TLS) | docker-registry:4000 |
| Registry Mirrors | Configure Docker Hub mirror URLs for faster or cached pulls | None |
| Storage Driver | Set the filesystem driver for image layer storage | overlay2 |
| Logging Configuration | Configure container log rotation to prevent disk exhaustion | JSON file with rotation |
Validation
After loading images and configuring the registry, verify readiness before proceeding to deployment.Verify Registry Status
The Overview tab shows the local registry with a green running status. Confirm the stored image count matches the expected number for your release version.
Confirm Image Availability
Browse the registry catalog and verify that all core service images are present — including compute, networking, identity, storage, and dashboard images.
Registry running, all images loaded, and cross-node pulls verified — images are ready for deployment.
Troubleshooting
Docker refuses to pull from the local registry
Docker refuses to pull from the local registry
Cause: The local registry is not listed as an insecure registry in the Docker daemon configuration.Resolution: Open the Docker Configuration section in the Images tool and add
docker-registry:4000 to the insecure registries list. Restart the Docker daemon after saving the change. Repeat on every node in the cluster.Archive extraction fails with checksum errors
Archive extraction fails with checksum errors
Cause: The
.tar.gz archive was corrupted during transfer.Resolution: Re-download or re-transfer the archive file and verify its integrity using the checksum provided with the release. Retry extraction after replacing the corrupted file.Registry container fails to start
Registry container fails to start
Cause: Port 4000 is already in use by another process, or the Docker volume is corrupted.Resolution: Check for port conflicts with
ss -tlnp | grep 4000. If no conflicts exist, remove and redeploy the registry container to recreate the volume from scratch.Next Steps
Operations
Deploy cloud services across the cluster using the loaded container images
Configuration
Review and adjust cloud service configuration before deployment