Auf die Docker-Multi-Container-Einrichtung mit ASP.NET Core 8.0-Web-API und SQL Server kann nicht über localhost zugegriC#

Ein Treffpunkt für C#-Programmierer
Guest
 Auf die Docker-Multi-Container-Einrichtung mit ASP.NET Core 8.0-Web-API und SQL Server kann nicht über localhost zugegri

Post by Guest »

Ich habe eine ASP.NET Core 8.0-Web-API, die SQL Server verwendet. Meine Projektstruktur sieht so aus:

Code: Select all

jobApplicationTrackerApi
- jobApplicationTracker (folder)
- .github
- jobApplicationTracker.sln
- docker-compose.yaml
and some other files.
Im Ordner "JobApplicationTracker" habe ich andere Dateien, einschließlich Programm.cs und JobApplicationTrackerAPI.csproj .
Wie Sie sehen, befindet sich Dockerfile mit diesen Daten in diesem Ordner: < /p>

Code: Select all

FROM  mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY jobApplicationTrackerApi.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app

FROM  mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
EXPOSE 80
EXPOSE 7128
COPY --from=build /app .
ENTRYPOINT ["dotnet", "jobApplicationTrackerApi.dll"]

Code: Select all

docker-compose.yamlDie 
-Datei enthält diese Daten:

Code: Select all

services:
app:
build:
context: ./jobApplicationTracker
dockerfile: Dockerfile
ports:
- "8080:80"
- "7128:8128"
environment:
- JobTrackerDb=Server=sqlserver,1433;Database=JobAppDb;User Id=sa;Password=pwd;TrustServerCertificate=True;
depends_on:
- sqlserver

sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: sqlserver
ports:
- "1433:1433"
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=pwd
healthcheck:
test: ["CMD-SHELL", "sqlcmd -S localhost -U sa -P pwd -Q 'SELECT 1'"]
interval: 10s
timeout: 10s
retries: 3
volumes:
- sql-data:/var/opt/mssql

volumes:
sql-data:
< /code>
Nachdem ich einen Container erstellt und starten kann, scheint alles in Ordnung zu sein. < /p>
[+] Running 2/2
✔ Container sqlserver                       Created                                                               0.0s
✔ Container jobapplicationtrackerapi-app-1  Recreated                                                             0.2s
app-1      | info: Microsoft.Hosting.Lifetime[14]
app-1      |       Now listening on: http://[::]:8080
Aber ich habe viele Informationsmeldungen zu SQL Server in meinem Cmd-Fenster (ich bin mir nicht sicher, ob es wichtig ist oder nicht).
Wenn ich dann zu meinem Docker-Desktop gehe, sehe ich, dass Container ausgeführt werden, sowohl SQL Server als auch Backend.
Wenn ich versuche, zu http://localhost:8080/ zu wechseln, wird Folgendes angezeigt

Diese Seite funktioniert nicht

Ich habe versucht, meinen Endpunkt wie http://localhost:8080/api/Lookup/statuses zu überprüfen, aber sie Funktioniert nicht.
Wenn Sie weitere Informationen benötigen, fragen Sie mich bitte, ich werde sie Ihnen zur Verfügung stellen.
Zum Erstellen eines Containers habe ich diesen Befehl ausgeführt :

Code: Select all

docker-compose build

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post