4.1 Push Images to a Remote Docker Repository

The installation bundle that you have downloaded to your local system contains Docker images of MicroTx Workflows, MicroTx Distributed Transactions coordinator, and MicroTx console.

Load these image to your local repository, and then push the images to a remote Docker repository. Kubernetes pulls these images from the remote repository to install the services.

If you are using Oracle Cloud Infrastructure Registry, see Push an Image to Oracle Cloud Infrastructure Registry. If you are using other Kubernetes platforms, use the instructions provided in this section.

Before you begin, complete the following tasks:
  • Identify a remote private repository to which you want to upload the container image. You can create a new remote Docker repository or use an existing one. Use a private repository to limit access. When you use a remote Docker repository, you have to push images to the remote Docker repository only once, while you can pull an image multiple times onto any Kubernetes cluster that you create.
  • Create a Kubernetes secret to access the remote Docker repository. See Create a Kubernetes Secret to Access Docker Registry.
Perform the following steps to push the Docker images of MicroTx Distributed Transactions transaction coordinator, MicroTx console, and MicroTx Workflows to a remote Docker repository:
  1. Provide credentials to log in to the remote private repository to which you want to push the image.
    docker login <repo>

    Provide the login credentials based on the Kubernetes platform that you are using.

  2. Load the images to the local Docker repository.
    1. Load the MicroTx Workflows image to the local Docker repository. This image is located in the installation_directory/MicroTx-RELEASE/workflow-server/container-images folder. Select an image based on your requirement. The following code loads the AMD image.
      cd installation_directory/MicroTx-RELEASE/workflow-server/container-images
      docker load < workflow-server-amd.tar.gz

      The following message is displayed when the image is loaded.

      Loaded image: workflow-server-amd
    2. Load the MicroTx Distributed Transactions transaction coordinator image to the local Docker repository. This image is located in the installation_directory/MicroTx-RELEASE/coordinator/container-images folder. Select an image based on your requirement. The following code loads the AMD image.
      cd installation_directory/MicroTx-RELEASE/coordinator/container-images
      docker load < transaction-coordinator-amd.tar.gz

      The following message is displayed when the image is loaded.

      Loaded image: transaction-coordinator-amd
    3. Load the MicroTx console image to the local Docker repository. The console image is located in the installation_directory/MicroTx-RELEASE/console/container-images folder.
      cd installation_directory/MicroTx-RELEASE/console/container-images
      docker load < console-amd.tar.gz

      The following message is displayed when the image is loaded.

      Loaded image: console-amd
  3. Use the following commands to specify a unique tag for the images that you want to push to the remote Docker repository.

    Syntax

    docker tag local_image_tag remote_image_tag

    Where,

    • local_image_tag is the tag with which the image is identified in your local repository.
    • remote_image_tag is the tag with which you want to identify the image in the remote Docker repository.

    Sample Commands

    docker tag workflow-server-amd <region-key>.ocir.io/otmmrepo/workflow-server-amd
    docker tag transaction-coordinator-amd <region-key>.ocir.io/otmmrepo/transaction-coordinator-amd
    docker tag console-amd <region-key>.ocir.io/otmmrepo/console-amd

    Where, <region-key>.ocir.io/otmmrepo is the remote Docker registry to which you want to push the image files. Provide the registry details based on your environment.

  4. Push the Docker images from your local repository to the remote Docker repository.

    Syntax

    docker push remote_image_tag
    Sample Commands
    docker push <region-key>.ocir.io/otmmrepo/workflow-server-amd
    docker push <region-key>.ocir.io/otmmrepo/transaction-coordinator-amd
    docker push <region-key>.ocir.io/otmmrepo/console-amd
    

Note down the tag of the Docker image in the remote Docker repository. You'll need to enter this tag while pulling the image from the remote Docker repository.

For more information about container registry in Oracle OCI, see Container Registry Concepts in Oracle Cloud Infrastructure Documentation.