IBM Cloud Docs
Understanding data portability for Container Registry

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 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 so on.
  • The conversion of the exported data and configuration to the format that's required by the alternative infrastructure and adapted applications.

For more information about your responsibilities for IBM Cloud® Container Registry, see Your responsibilities.

Data export procedures

Container Registry provides the mechanisms to export your content that's uploaded, stored, and processed when you use the service.

  1. Refer to the new provider's documentation to find out how to name your images.

  2. Log in to the new registry.

  3. Log in to Container Registry.

    ibmcloud cr login
    
  4. Run the following commands for each region where you have container images stored.

    a. Set the IBM Cloud 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.

    docker tag <registry_region>.icr.io/<namespace>/<name> <new_image_name>
    

    d. Push each image to the new registry.

    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.