Un servicio de Azure que proporciona una plataforma de contenedor sin servidor de uso general.
Hola Jayro Guerreros Echias,
Gracias por contactar con Microsoft Q&A.
El puerto de destino 8080 no coincide con el puerto de escucha 8181.
Este error se produce si su aplicación está expuesta al puerto 8181, pero ha habilitado el puerto 8080 en la configuración de entrada de su aplicación en contenedor.
Asegúrese de habilitar el puerto 8181 en la configuración de entrada en lugar del puerto 8080, ya que su aplicación se ejecuta en el puerto 8181, no en el 8080, como se muestra a continuación:
--image xxxxx/test:v1 --target-port 8181
Comando CLI:
az containerapp create --name app-clinic-api --resource-group rg-depilzone --environment env-depilzone --image xxxxx/test:v1 --target-port 8181 --ingress external ...xxxx
Consulte la solución en este documento para el mismo error: Container Apps - ‘Target port does not match the listening port’ -
Si desea que su aplicación se ejecute en un puerto específico, por ejemplo, el puerto 8080, consulte uno de los métodos a continuación:
Método 1:
DockerImage:
FROM base AS final
WORKDIR /app
# Bind ASP.NET Core to 0.0.0.0:8080 explicitly
ENV ASPNETCORE_URLS=http://0.0.0.0:8080
# Optional but common in containers
ENV DOTNET_RUNNING_IN_CONTAINER=true
Método 2:
Agregue variables de entorno (--env-vars) al implementar su aplicación en un contenedor, como se muestra a continuación:
az containerapp create
--name app-clinic-api
--resource-group rg-depilzone
--environment env-depilzone
--image <acr-name>.azurecr.io/depilzone/api:fixed
--ingress external
--target-port 8080
--registry-server <acr-name>.azurecr.io
--env-vars ASPNETCORE_URLS=http://0.0.0.0:8080
Método 3:
Modifique sus archivos Program.cs y appsettings.json de .NET 8 para que se ejecuten en un puerto específico:
Program.cs:
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://0.0.0.0:8080"); // Forzar el puerto 8080
var app = builder.Build();
app.MapGet("/", () => "OK");
appsettings.json:
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:8080"
}
}
}
}