From 82f02499898d52209f8b4fc338e8a2bdb680fb1b Mon Sep 17 00:00:00 2001 From: Drew Rautenberg Date: Sun, 12 Jan 2025 18:40:39 -0600 Subject: [PATCH] Add Docker support for the API project --- barkmanAPI/.dockerignore | 25 +++++++++++++++++++++++++ barkmanAPI/Dockerfile | 23 +++++++++++++++++++++++ barkmanAPI/barkmanAPI.csproj | 1 + 3 files changed, 49 insertions(+) create mode 100644 barkmanAPI/.dockerignore create mode 100644 barkmanAPI/Dockerfile diff --git a/barkmanAPI/.dockerignore b/barkmanAPI/.dockerignore new file mode 100644 index 0000000..38bece4 --- /dev/null +++ b/barkmanAPI/.dockerignore @@ -0,0 +1,25 @@ +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.idea +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/barkmanAPI/Dockerfile b/barkmanAPI/Dockerfile new file mode 100644 index 0000000..91a32f2 --- /dev/null +++ b/barkmanAPI/Dockerfile @@ -0,0 +1,23 @@ +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base +USER $APP_UID +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["barkmanapi.csproj", "./"] +RUN dotnet restore "barkmanapi.csproj" +COPY . . +WORKDIR "/src/" +RUN dotnet build "barkmanapi.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "barkmanapi.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "barkmanapi.dll"] diff --git a/barkmanAPI/barkmanAPI.csproj b/barkmanAPI/barkmanAPI.csproj index f0007de..7b95621 100644 --- a/barkmanAPI/barkmanAPI.csproj +++ b/barkmanAPI/barkmanAPI.csproj @@ -4,6 +4,7 @@ net9.0 enable enable + Linux