From 6593a3777850179ef0b7faaab784c640636c2aa5 Mon Sep 17 00:00:00 2001 From: Denis Prokharchyk Date: Mon, 6 Feb 2023 06:34:33 +0300 Subject: [PATCH] feat(issue-534): add support a docker of idportal service --- src/Services/id-portal/.dockerignore | 25 +++++++++ src/Services/id-portal/Dockerfile | 21 +++++++ .../id-portal/O2Bionics.Services.IdPortal.sln | 6 ++ src/Services/id-portal/docker-compose.dcproj | 18 ++++++ .../id-portal/docker-compose.override.yml | 8 +++ src/Services/id-portal/docker-compose.yml | 8 +++ .../O2Bionics.Services.IdPortal/Dockerfile | 21 +++++++ .../O2Bionics.Services.IdPortal.csproj | 1 + .../Properties/launchSettings.json | 55 +++++++++---------- 9 files changed, 135 insertions(+), 28 deletions(-) create mode 100644 src/Services/id-portal/.dockerignore create mode 100644 src/Services/id-portal/Dockerfile create mode 100644 src/Services/id-portal/docker-compose.dcproj create mode 100644 src/Services/id-portal/docker-compose.override.yml create mode 100644 src/Services/id-portal/docker-compose.yml create mode 100644 src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile diff --git a/src/Services/id-portal/.dockerignore b/src/Services/id-portal/.dockerignore new file mode 100644 index 00000000..bdca33b4 --- /dev/null +++ b/src/Services/id-portal/.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/src/Services/id-portal/Dockerfile b/src/Services/id-portal/Dockerfile new file mode 100644 index 00000000..b68a07b8 --- /dev/null +++ b/src/Services/id-portal/Dockerfile @@ -0,0 +1,21 @@ +#See https://aka.ms/containerfastmode to understand 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 +EXPOSE 80 + +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj", "src/O2Bionics.Services.IdPortal/"] +RUN dotnet restore "src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj" +COPY . . +WORKDIR "/src/src/O2Bionics.Services.IdPortal" +RUN dotnet build "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "O2Bionics.Services.IdPortal.dll"] diff --git a/src/Services/id-portal/O2Bionics.Services.IdPortal.sln b/src/Services/id-portal/O2Bionics.Services.IdPortal.sln index 7d363a6d..77539f18 100644 --- a/src/Services/id-portal/O2Bionics.Services.IdPortal.sln +++ b/src/Services/id-portal/O2Bionics.Services.IdPortal.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.4.33213.308 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "O2Bionics.Services.IdPortal", "src\O2Bionics.Services.IdPortal\O2Bionics.Services.IdPortal.csproj", "{1657073E-9EE7-43D3-A3FD-A32025E57488}" EndProject +Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {1657073E-9EE7-43D3-A3FD-A32025E57488}.Debug|Any CPU.Build.0 = Debug|Any CPU {1657073E-9EE7-43D3-A3FD-A32025E57488}.Release|Any CPU.ActiveCfg = Release|Any CPU {1657073E-9EE7-43D3-A3FD-A32025E57488}.Release|Any CPU.Build.0 = Release|Any CPU + {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Services/id-portal/docker-compose.dcproj b/src/Services/id-portal/docker-compose.dcproj new file mode 100644 index 00000000..d0c089a6 --- /dev/null +++ b/src/Services/id-portal/docker-compose.dcproj @@ -0,0 +1,18 @@ + + + + 2.1 + Linux + {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5} + True + {Scheme}://localhost:{ServicePort} + o2bionics.services.idportal + + + + docker-compose.yml + + + + + diff --git a/src/Services/id-portal/docker-compose.override.yml b/src/Services/id-portal/docker-compose.override.yml new file mode 100644 index 00000000..b0ca336a --- /dev/null +++ b/src/Services/id-portal/docker-compose.override.yml @@ -0,0 +1,8 @@ +version: '3.4' + +services: + o2bionics.services.idportal: + environment: + - ASPNETCORE_ENVIRONMENT=Development + ports: + - "80" diff --git a/src/Services/id-portal/docker-compose.yml b/src/Services/id-portal/docker-compose.yml new file mode 100644 index 00000000..ed53c4a7 --- /dev/null +++ b/src/Services/id-portal/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.4' + +services: + o2bionics.services.idportal: + image: ${DOCKER_REGISTRY-}o2bionicsservices + build: + context: . + dockerfile: src/O2Bionics.Services.IdPortal/Dockerfile diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile new file mode 100644 index 00000000..b68a07b8 --- /dev/null +++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile @@ -0,0 +1,21 @@ +#See https://aka.ms/containerfastmode to understand 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 +EXPOSE 80 + +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj", "src/O2Bionics.Services.IdPortal/"] +RUN dotnet restore "src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj" +COPY . . +WORKDIR "/src/src/O2Bionics.Services.IdPortal" +RUN dotnet build "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "O2Bionics.Services.IdPortal.dll"] diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj index bfb07bc7..1afb03b1 100644 --- a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj +++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + ../../docker-compose.dcproj diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json index ff6d3649..fb9ad9c4 100644 --- a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json +++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json @@ -1,28 +1,27 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:16044", - "sslPort": 0 - } - }, - "profiles": { - "O2Bionics.Services.IdPortal": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "applicationUrl": "http://localhost:5160", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:16044", + "sslPort": 0 + } + }, + "profiles": { + "O2Bionics.Services.IdPortal": { + "commandName": "Project", + "launchBrowser": true, + "applicationUrl": "http://localhost:5160", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} \ No newline at end of file