İçeriğe geç

ASP.NET Core Uygulamasını Docker ile Containerize Edin ve Deploy Edin

25.06.2024 3 okunma

Neden Docker?

"Bende çalışıyor" sorununu ortadan kaldırır. Uygulama ve bağımlılıkları container içinde paketlenir, her ortamda aynı şekilde çalışır.

Dockerfile

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 8080

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

FROM base AS final
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]

docker-compose.yml

version: "3.8"
services:
  webapi:
    build: .
    ports:
      - "5000:8080"
    depends_on:
      - sqlserver
    environment:
      - ConnectionStrings__Default=Server=sqlserver;Database=AppDb;User=sa;Password=Pass123!
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2022-latest
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=Pass123!

Komutlar

docker build -t myapp .
docker-compose up -d
docker logs myapp_webapi_1
aspnet core docker dockerfile aspnet aspnet containerize docker compose aspnet dotnet deploy docker
İLERİ DÜZEY C# ASP.NET YAZILIM hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.