Understanding data portability for Container Registry
Data portability involves a set of tools and procedures that enable customers to export the digital artifacts that are needed to implement similar workload and data processing on different service providers or on-premises software. It includes procedures for copying and storing the service customer content, including the related configuration that is used by the service to store and process the data, on the customer's own location.
Responsibilities
IBM Cloud services provide interfaces and instructions to guide the customer to copy and store the service customer content, including the related configuration, on their own selected location.
The customer is responsible for the use of the exported data and configuration for data portability to other infrastructures, which includes the following actions:
- The planning and execution for setting up alternative infrastructure on different cloud providers or on-premises software that provide similar capabilities to the IBM services.
- The planning and execution for the porting of the required application code on the alternative infrastructure, including the adaptation of customer's application code, deployment automation, and other code.
- The conversion of the exported data and configuration to the format that is required by the alternative infrastructure and adapted applications.
For more information about your responsibilities for IBM Cloud® Container Registry, see Your responsibilities.
Procedures for exporting data
Container Registry provides the mechanisms to export the content that is uploaded, stored, and processed by the service.
-
Refer to the new provider's documentation to find out how to name your images.
-
Log in to the new registry.
-
ibmcloud cr login
-
Run the following commands for each region in which container images are stored.
a. Set the IBM Cloud region, where
REGION
is the name of the region.ibmcloud cr region-set REGION
b. Export your container images.
ibmcloud cr images --format "{{ .Repository }}:{{ .Tag }}" | xargs -L 1 docker pull
c. Tag each image with the name for the new registry, where
DOMAIN_NAME
is the domain name (for example,us.icr.io
),NAMESPACE
is the namespace,NAME
is the name, andNEW_IMAGE_NAME
is the new image name.docker tag DOMAIN_NAME/NAMESPACE/NAME NEW_IMAGE_NAME
d. Push each image to the new registry, where
NEW_IMAGE_NAME
is the new image name.docker push NEW_IMAGE_NAME
Exported data formats
Container images are exported from Container Registry as either Docker Manifest v2 images or OCI images, depending on what format was used to upload them. No conversion is required to move existing container images to another OCI-compliant registry.
Data ownership
All exported data is classified as customer content. Apply the full customer ownership and licensing rights, as stated in the IBM Cloud Service Agreement.