Skip to content
DocsTry Aspire
DocsTry

ContainerRegistryResourceBuilderExtensions Methods

ClassMethods3 members
Provides extension methods for adding container registry resources to the distributed application.
AddContainerRegistry(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)Section titled AddContainerRegistry(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)extensionIResourceBuilder<ContainerRegistryResource>
Adds a container registry resource to the application model with parameterized values.
public static class ContainerRegistryResourceBuilderExtensions
{
public static IResourceBuilder<ContainerRegistryResource> AddContainerRegistry(
this IDistributedApplicationBuilder builder,
string name,
IResourceBuilder<ParameterResource> endpoint,
IResourceBuilder<ParameterResource>? repository = null)
{
// ...
}
}
builderIDistributedApplicationBuilderThe distributed application builder.
namestringThe name of the container registry resource.
endpointIResourceBuilder<ParameterResource>An ApplicationModel.IResourceBuilder`1 containing the registry endpoint URL or hostname.
repositoryIResourceBuilder<ParameterResource>optionalAn optional ApplicationModel.IResourceBuilder`1 containing the repository path within the registry.
IResourceBuilder<ContainerRegistryResource>An ApplicationModel.IResourceBuilder`1 for the container registry resource.
Use this method when the registry endpoint and repository values need to be provided dynamically via configuration or user input. The resource is only added to the application model in publish mode; in run mode, a resource builder is created without adding the resource to the model.

Add a container registry with parameterized values:

var endpointParameter = builder.AddParameter("registry-endpoint");
var repositoryParameter = builder.AddParameter("registry-repo");
var registry = builder.AddContainerRegistry("my-registry", endpointParameter, repositoryParameter);
AddContainerRegistry(IDistributedApplicationBuilder, string, string, string?)Section titled AddContainerRegistry(IDistributedApplicationBuilder, string, string, string?)extensionIResourceBuilder<ContainerRegistryResource>
Adds a container registry resource to the application model with literal string values.
public static class ContainerRegistryResourceBuilderExtensions
{
public static IResourceBuilder<ContainerRegistryResource> AddContainerRegistry(
this IDistributedApplicationBuilder builder,
string name,
string endpoint,
string? repository = null)
{
// ...
}
}
builderIDistributedApplicationBuilderThe distributed application builder.
namestringThe name of the container registry resource.
endpointstringThe registry endpoint URL or hostname (e.g., "docker.io", "ghcr.io").
repositorystring?optionalThe optional repository path within the registry (e.g., "myusername" for Docker Hub, "owner/repo" for GHCR).
IResourceBuilder<ContainerRegistryResource>An ApplicationModel.IResourceBuilder`1 for the container registry resource.
Use this method when the registry endpoint and repository values are known at design time and do not need to be parameterized. The resource is only added to the application model in publish mode; in run mode, a resource builder is created without adding the resource to the model.

Add a Docker Hub container registry:

var registry = builder.AddContainerRegistry("docker-hub", "docker.io", "myusername");

Add a GitHub Container Registry:

var registry = builder.AddContainerRegistry("ghcr", "ghcr.io", "owner/repo");
WithContainerRegistry(IResourceBuilder<TDestination>, IResourceBuilder<TContainerRegistry>)Section titled WithContainerRegistry(IResourceBuilder<TDestination>, IResourceBuilder<TContainerRegistry>)extensionIResourceBuilder<TDestination>
Configures the resource to use the specified container registry for container image operations.
public static class ContainerRegistryResourceBuilderExtensions
{
public static IResourceBuilder<TDestination> WithContainerRegistry<TDestination, TContainerRegistry>(
this IResourceBuilder<TDestination> builder,
IResourceBuilder<TContainerRegistry> registry)
{
// ...
}
}
builderIResourceBuilder<TDestination>The resource builder.
registryIResourceBuilder<TContainerRegistry>The container registry resource builder.
IResourceBuilder<TDestination>The resource builder for chaining.
This method adds a ContainerRegistryReferenceAnnotation to the resource, indicating that the resource should use the specified container registry for container image operations.

Configure a project to use a container registry:

var registry = builder.AddContainerRegistry("docker-hub", "docker.io", "myusername");
var project = builder.AddProject<MyProject>("myproject")
.WithContainerRegistry(registry);