Updated on 2024-07-04 GMT+08:00

Solution Overview

Challenges

Containers are growing in popularity. Many enterprises choose to build their own Kubernetes clusters. However, the O&M workload of on-premises clusters is heavy, and O&M personnel need to configure the management systems and monitoring solutions by themselves. For enterprises, managing a large number of images requires high O&M, labor, and management costs, and the efficiency is low.

SoftWare Repository for Container (SWR) manages container images that function on multiple architectures, such as Linux and Arm. Enterprises can migrate their image repositories to SWR to reduce costs.

This section describes three ways for migrating image repositories to SWR smoothly. You can select one as required.

Migration Solutions

Table 1 Comparison of migration solutions and application scenarios

Solution

Application Scenario

Precautions

Migrating Images to SWR Using Docker Commands

Small quantity of images

  • Disk storage leads to the timely deletion of local images and time-cost flushing.
  • Docker daemon strictly restricts the number of concurrent pull/push operations, so high-concurrency synchronization cannot be performed.
  • Scripts are complex because HTTP APIs are needed to perform the operations that cannot be implemented through Docker CLI.

Migrating Images to SWR Using image-migrator

A large number of images

  • Many-to-many image repository synchronization is supported.
  • Docker Registry V2-based image repositories (such as Docker Hub, Quay, and Harbor) can be migrated to SWR.
  • Memory- and network-dependent synchronization is fast.
  • Flushing the Blob information of synchronized images avoids repetition.
  • The number of concurrent synchronization tasks can be adjusted in the configuration file.
  • Automatically retrying failed synchronization tasks can resolve most network jitter during image synchronization.
  • Docker or other programs are not required.

Synchronizing Images Across Clouds from Harbor to SWR

A customer deploys services in multiple clouds and uses Harbor as their image repository.

Only Harbor v1.10.5 and later versions are supported.