Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

getRegistryImage

Reads the image metadata from a Docker Registry. Used in conjunction with the docker_image resource to keep an image up to date on the latest available version of the tag.

Example Usage

using Pulumi;
using Docker = Pulumi.Docker;

class MyStack : Stack
{
    public MyStack()
    {
        var ubuntuRegistryImage = Output.Create(Docker.GetRegistryImage.InvokeAsync(new Docker.GetRegistryImageArgs
        {
            Name = "ubuntu:precise",
        }));
        var ubuntuRemoteImage = new Docker.RemoteImage("ubuntuRemoteImage", new Docker.RemoteImageArgs
        {
            Name = ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Name),
            PullTriggers = 
            {
                ubuntuRegistryImage.Apply(ubuntuRegistryImage => ubuntuRegistryImage.Sha256Digest),
            },
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-docker/sdk/v2/go/docker"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        opt0 := "ubuntu:precise"
        ubuntuRegistryImage, err := docker.LookupRegistryImage(ctx, &docker.LookupRegistryImageArgs{
            Name: &opt0,
        }, nil)
        if err != nil {
            return err
        }
        _, err = docker.NewRemoteImage(ctx, "ubuntuRemoteImage", &docker.RemoteImageArgs{
            Name: pulumi.String(ubuntuRegistryImage.Name),
            PullTriggers: pulumi.StringArray{
                pulumi.String(ubuntuRegistryImage.Sha256Digest),
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_docker as docker

ubuntu_registry_image = docker.get_registry_image(name="ubuntu:precise")
ubuntu_remote_image = docker.RemoteImage("ubuntuRemoteImage",
    name=ubuntu_registry_image.name,
    pull_triggers=[ubuntu_registry_image.sha256_digest])
import * as pulumi from "@pulumi/pulumi";
import * as docker from "@pulumi/docker";

const ubuntuRegistryImage = docker.getRegistryImage({
    name: "ubuntu:precise",
});
const ubuntuRemoteImage = new docker.RemoteImage("ubuntuRemoteImage", {
    name: ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.name),
    pullTriggers: [ubuntuRegistryImage.then(ubuntuRegistryImage => ubuntuRegistryImage.sha256Digest)],
});

Using getRegistryImage

function getRegistryImage(args: GetRegistryImageArgs, opts?: InvokeOptions): Promise<GetRegistryImageResult>
def get_registry_image(name: Optional[str] = None, opts: Optional[InvokeOptions] = None) -> GetRegistryImageResult
func LookupRegistryImage(ctx *Context, args *LookupRegistryImageArgs, opts ...InvokeOption) (*LookupRegistryImageResult, error)

Note: This function is named LookupRegistryImage in the Go SDK.

public static class GetRegistryImage {
    public static Task<GetRegistryImageResult> InvokeAsync(GetRegistryImageArgs args, InvokeOptions? opts = null)
}

The following arguments are supported:

Name string

The name of the Docker image, including any tags. e.g. alpine:latest

Name string

The name of the Docker image, including any tags. e.g. alpine:latest

name string

The name of the Docker image, including any tags. e.g. alpine:latest

name str

The name of the Docker image, including any tags. e.g. alpine:latest

getRegistryImage Result

The following output properties are available:

Id string

The provider-assigned unique ID for this managed resource.

Sha256Digest string
Name string
Id string

The provider-assigned unique ID for this managed resource.

Sha256Digest string
Name string
id string

The provider-assigned unique ID for this managed resource.

sha256Digest string
name string
id str

The provider-assigned unique ID for this managed resource.

sha256_digest str
name str

Package Details

Repository
https://github.com/pulumi/pulumi-docker
License
Apache-2.0
Notes
This Pulumi package is based on the docker Terraform Provider.