Downloading container images
Follow these instructions if you need to download all the container images for IBM® App Connect Enterprise certified container. For example, you might need to copy them to an internal registry or you might want to scan them for vulnerabilities.
Procedure
To download the container images, complete the following steps:
- Follow the instructions in Mirroring images with a bastion host to
download the Container Application Software for Enterprises (CASE) archive. This archive, which is
typically provided for installing within a restricted network, includes metadata and files that
you'll require later. Complete the instructions in the following sections:
On completion of these steps, you obtain the following files:
- The downloaded CASE packages, which contain metadata for the container images required to deploy each IBM App Connect capability. (Each CASE package also contains the required scripts to mirror images to a private registry, and to configure the target cluster to use the private registry as a mirror.)
- Generated comma-separated value (CSV) files listing the images. The CSV files, combined with your IBM Entitled Registry entitlement key, are used for downloading or mirroring the images manually.
- Log in to your container tool (such as docker or
skopeo) to access the entitled registry. Use
cp
as the username and your entitlement key as the password. For example:docker login cp.icr.io -u cp -p myEntitlementKey
- Use a shell script to process all images that are supported on the target architecture.
In this command, /tmp/cases represents the directory to which you downloaded
the CASE archive.
- amd64
architecture:
tail -q -n +2 /tmp/cases/*-images.csv | while IFS="," read registry image_name tag digest mtype os arch variant insecure digest_source image_type groups; do if [[ "$arch" == "amd64" ]]; then docker pull "$registry/$image_name@$digest" docker tag "$registry/$image_name@$digest" "$registry/$image_name:$tag" fi done
- s390x
architecture:
tail -q -n +2 /tmp/cases/*-images.csv | while IFS="," read registry image_name tag digest mtype os arch variant insecure digest_source image_type groups; do if [[ "$arch" == "s390x" ]]; then docker pull "$registry/$image_name@$digest" docker tag "$registry/$image_name@$digest" "$registry/$image_name:$tag" fi done
- ppc64le
architecture:
tail -q -n +2 /tmp/cases/*-images.csv | while IFS="," read registry image_name tag digest mtype os arch variant insecure digest_source image_type groups; do if [[ "$arch" == "ppc64le" ]]; then docker pull "$registry/$image_name@$digest" docker tag "$registry/$image_name@$digest" "$registry/$image_name:$tag" fi done
Instead of docker, you can use alternative container tools such as podman or skopeo:
- Use podman as a direct replacement for docker in the preceding commands.
- Use one skopeo command to replace the docker pull and
docker tag commands. For example:
skopeo copy --dest-tls-verify=false docker://$registry/$image_name@$digest docker-daemon:$registry/$image_name:$tag
You can also use skopeo to save images to disk, or to copy them directly to another container registry.
Note: If you need your clusters to access these images from a private registry, the image digests must be preserved. - amd64
architecture: