Skip to content

13.3.5: Keycloak does not start: Aspire.Hosting.DistributedApplicationException: One or more container network tunnel proxies did not start successfully: 'aspire-container-network-tunnelproxy' #17383

@milanlugn

Description

@milanlugn

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

I saw that #16897 and #17052 introduced fixes for Keycloak. however I still have issues on the latest Aspire versions. I'm currently running into the following error:

 Failed to create resource keycloak
Aspire.Hosting.DistributedApplicationException: One or more container network tunnel proxies did not start successfully: 'aspire-container-network-tunnelproxy': Container image for container network tunnel could not be built, or its presence could not be verified: failed to build client proxy image: docker command 'BuildImage' returned with non-zero exit code 125
error
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
error
            Install the buildx component to build images with BuildKit:
error
            https://docs.docker.com/go/buildx/
error
unknown flag: --progress
error
Usage:  docker build [OPTIONS] PATH | URL | -
error
Run 'docker build --help' for more information
   at Aspire.Hosting.Dcp.ContainerCreator.WaitForTunnelProxyAsync(ContainerNetworkTunnelProxy tunnelProxy, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 554
   at Aspire.Hosting.Dcp.ContainerCreator.CreateTunnelProxyResourceAsync(IDcpObjectFactory factory, List`1 tunnels, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 415
   at Aspire.Hosting.Dcp.ContainerCreator.EnsureHostConnectivityAsync(ImmutableArray`1 hostDependencies, ContainerCreationContext cctx, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 478
   at Aspire.Hosting.Dcp.ContainerCreator.CreateHostDependentContainerAsync(RenderedModelResource`1 cr, ImmutableArray`1 hostDependencies, ContainerCreationContext cctx, IDcpObjectFactory factory, CancellationToken cToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 590
   at Aspire.Hosting.Dcp.ContainerCreator.CreateObjectAsync(RenderedModelResource`1 cr, ContainerCreationContext cctx, ILogger logger, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 218
   at Aspire.Hosting.Dcp.DcpExecutor.CreateResourceReplicasAsync[TDcpResource,TContext](IResource modelResource, IEnumerable`1 replicaResources, IObjectCreator`2 creator, TContext context, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpExecutor.cs:line 822

Expected Behavior

Keycloak container should start

Steps To Reproduce

<Project Sdk="Aspire.AppHost.Sdk/13.3.5">

 <!-- redacted -->

  <ItemGroup>
    <PackageReference Include="Aspire.Hosting.JavaScript" Version="13.3.5" />
    <PackageReference Include="Aspire.Hosting.Keycloak" Version="13.3.5-preview.1.26270.6" />
    <PackageReference Include="Aspire.Hosting.PostgreSQL" Version="13.3.5" />
    <PackageReference Include="Aspire.Hosting.RabbitMQ" Version="13.3.5" />
  </ItemGroup>
</Project>

Full AppHost with some redactions:

var builder = DistributedApplication.CreateBuilder(args);

var rabbitmq = builder.AddRabbitMQ("messaging");
var keycloak = builder.AddKeycloak("keycloak", 8088)
    .WithDataVolume();

var postgres = builder
    .AddPostgres("postgres")
    .WithDataVolume()
    .AddDatabase("postgresdb");

var injector = builder.AddProject<Projects.xxx>("injector")
    .WaitFor(rabbitmq)
    .WithReference(rabbitmq)
    .WaitFor(postgres)
    .WithReference(postgres)
    // .WaitFor(keycloak)
    .WithReference(keycloak)
    .WithHttpHealthCheck("/health")
    .WithExternalHttpEndpoints();

var webApi = builder.AddProject<Projects.xxx>("webapi")
    .WaitFor(rabbitmq)
    .WithReference(rabbitmq)
    .WaitFor(postgres)
    .WithReference(postgres)
    // .WaitFor(keycloak)
    .WithReference(keycloak)
    .WithHttpHealthCheck("/health")
    .WithExternalHttpEndpoints();

var frontend = builder.AddViteApp("angular-frontend", "../xxx/xxx", "start")
    .WithReference(webApi)
    .WaitFor(webApi);

builder.Build().Run();

Exceptions (if any)

 Failed to create resource keycloak
Aspire.Hosting.DistributedApplicationException: One or more container network tunnel proxies did not start successfully: 'aspire-container-network-tunnelproxy': Container image for container network tunnel could not be built, or its presence could not be verified: failed to build client proxy image: docker command 'BuildImage' returned with non-zero exit code 125
error
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
error
            Install the buildx component to build images with BuildKit:
error
            https://docs.docker.com/go/buildx/
error
unknown flag: --progress
error
Usage:  docker build [OPTIONS] PATH | URL | -
error
Run 'docker build --help' for more information
   at Aspire.Hosting.Dcp.ContainerCreator.WaitForTunnelProxyAsync(ContainerNetworkTunnelProxy tunnelProxy, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 554
   at Aspire.Hosting.Dcp.ContainerCreator.CreateTunnelProxyResourceAsync(IDcpObjectFactory factory, List`1 tunnels, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 415
   at Aspire.Hosting.Dcp.ContainerCreator.EnsureHostConnectivityAsync(ImmutableArray`1 hostDependencies, ContainerCreationContext cctx, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 478
   at Aspire.Hosting.Dcp.ContainerCreator.CreateHostDependentContainerAsync(RenderedModelResource`1 cr, ImmutableArray`1 hostDependencies, ContainerCreationContext cctx, IDcpObjectFactory factory, CancellationToken cToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 590
   at Aspire.Hosting.Dcp.ContainerCreator.CreateObjectAsync(RenderedModelResource`1 cr, ContainerCreationContext cctx, ILogger logger, IDcpObjectFactory factory, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ContainerCreator.cs:line 218
   at Aspire.Hosting.Dcp.DcpExecutor.CreateResourceReplicasAsync[TDcpResource,TContext](IResource modelResource, IEnumerable`1 replicaResources, IObjectCreator`2 creator, TContext context, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpExecutor.cs:line 822

Aspire doctor output

Aspire Environment Check
========================

.NET SDK
  ✅ .NET 10.0.201 installed (x64)  

Container Runtime
  ✅ Docker v29.4.0: running (auto-detected (default)) ← active  

Environment
  ✅ HTTPS development certificate is trusted  

Summary: 3 passed, 0 warnings, 0 failed

Anything else?

Keycloak worked till version 13.3 I think. I'm running Docker under WSL on W11, without Docker Desktop. I've symlinked the Windows Docker pipe to WSL. Worked fine up until 13.3. The other stuff runs fine without any problems :)

dotnet --version
10.0.201
aspire --version
13.3.5+70b33bcb5f64c75e3ab6f57616545f35bd43dc81

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-orchestratorneeds-author-actionAn issue or pull request that requires more info or actions from the author.triage:bot-seenAspire triage bot has seen this issue

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions