Images
Eigene Docker-Images ermöglichen die Erstellung massgeschneiderter Container mit individuellen Konfigurationen, Abhängigkeiten und Anwendungen. Sie basieren auf einer Dockerfile
, die die Anweisungen zum Aufbau des Images enthält.
Kommandos
Beispiel
Dieses Beispiel erstellt ein einfaches Node.js-Backend mit Express.
Docker-Image builden
docker build -t .
Image auf Docker Hub veröffentlichen
Multi-Stage-Images
Multi-Stage-Builds ermöglichen es, schlanke und optimierte Docker-Images zu erstellen, indem sie verschiedene Build-Stufen in einem Dockerfile
nutzen.
Beispiel
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
USER $APP_UID
WORKDIR /app
ENV ASPNETCORE_URLS=http://*:5001
EXPOSE 5001
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["api/Api.csproj", "api/"]
RUN dotnet restore "api/Api.csproj"
COPY . .
WORKDIR "/src/api"
RUN dotnet build "./Api.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Api.dll"]
Vorteile
Kleinere Images, da nur die tatsächlich benötigten Dateien ins finale Image übernommen werden.
Trennung von Build- und Laufzeitumgebung.
Vermeidung unnötiger Abhängigkeiten im finalen Image.
Zuletzt aktualisiert
War das hilfreich?