From cadf9dd977794b87cca13b9d210a45522dc32171 Mon Sep 17 00:00:00 2001 From: Alan Moon Date: Sun, 1 Oct 2023 10:14:24 -0700 Subject: [PATCH] Add Docker Support Co-authored-by: Robert Paciorek --- .dockerignore | 25 +++++++++++++++++++++++++ docker-compose.yml | 18 ++++++++++++++++++ src/Dockerfile | 20 ++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 .dockerignore create mode 100644 docker-compose.yml create mode 100644 src/Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3729ff0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*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/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2892638 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.8' +services: + sodoff: + build: + context: . + dockerfile: src/Dockerfile + # ports: + # - 5000:5000 + networks: + sodoff_network: + ipv4_address: 172.16.99.10 + +networks: + sodoff_network: + driver: bridge + ipam: + config: + - subnet: "172.16.99.0/24" diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 0000000..5b06dd8 --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,20 @@ +#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +WORKDIR /app + +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["src/sodoff.csproj", "src/"] +RUN dotnet restore "src/sodoff.csproj" +COPY . . +WORKDIR "/src/src" +RUN dotnet build "sodoff.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "sodoff.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "sodoff.dll"]