Push an image

Overview

Follow the steps below to push an image to your org's private registry.

When setting up a workload, the list of available images stored in your private registry can be viewed and selected by pressing Control-I.

An image can be pushed by using either Docker or the CLI.

Prerequisites

Push using Docker

Step 1 - Set up Docker authentication (Required)

Executing the command below will update the local Docker profile to use the CLI to authentication to your private registry when performing the push.

copy
cpln image docker-login --org ORG_NAME
TIP

The cpln profile named default will be used by Docker when authenticating to the private registry before the pushing the image. If a different profile is required for authentication, set the CPLN_PROFILE environment variable to the desired profile name.

Step 2 - Build a new image using Docker and a Dockerfile (Optional)

If you have an existing image, skip to step 3.

Executing the command below will containerize your application using the defined Dockerfile. The image generated will be tagged in the format required to push it to your private registry.

copy
docker build -t ORG_NAME.registry.cpln.io/IMAGE[:TAG] .

Step 3 - Tag an existing image (Optional)

Executing the command below will tag an existing local image in the format required to push it to your private registry.

Required Image Name Format: ORG_NAME.registry.cpln.io/IMAGE[:TAG]

If your image is already tagged in this format, skip to step 4.

copy
docker tag SOURCE_IMAGE[:TAG] ORG_NAME.registry.cpln.io/IMAGE[:TAG]

Step 4 - Push image to your private registry

Executing the command below will authenticate and push the image to your private registry.

copy
docker push ORG_NAME.registry.cpln.io/IMAGE[:TAG]

Depending on the size of the image and its dependencies, it might take a few minutes for the push to complete.

Step 5 - Use image in a workload

Once an image has been successfully pushed to your org's private registry, it can be referred to by a workload's container.

When setting up a workload, the list of available images stored in your private registry can be viewed and selected by pressing Control-I.

Push using cpln

Another method to push an image to your private registry is by using the CLI's image build command.

Option 1: Using buildpacks

Executing the command below will:

  • Automatically build the image using buildpacks. No Dockerfile is required.
  • Tag it with the required format
  • and push it to your private registry

Buildpacks will crawl the application code and try to generate the image. If it is unable to automatically generate the image, you will need to use option 2.

copy
cpln image build --name IMAGE:TAG --push --org ORG_NAME

Option 2: Using a Dockerfile

Executing the command below is similar to option 1, but will build the image using Docker and will follow the instructions in the Dockerfile.

copy
cpln image build --dockerfile PATH_TO_DOCKERFILE/Dockerfile --name IMAGE:TAG --push --org ORG_NAME

Next Steps

Once an image has been successfully pushed to your org's private registry, it can be referred to by a workload's container.

When setting up a workload, the list of available images stored in your private registry can be viewed and selected by pressing Control-I.

Reference

Refer to the image build command for additional details.

Copyright © 2021 Control Plane Corporation. All rights reserved. Revision 30221ec6
Contents