Skip to content

Commit c17ccd4

Browse files
committed
added docker
1 parent 58a5b20 commit c17ccd4

File tree

14 files changed

+196
-35
lines changed

14 files changed

+196
-35
lines changed

apps/Tasky.IdentityServer/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,20 @@ EXPOSE 443
77

88
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
99
WORKDIR /src
10+
COPY ["services/saas/NuGet.Config", "services/saas/"]
11+
COPY ["services/identity/NuGet.Config", "services/identity/"]
12+
COPY ["services/administration/NuGet.Config", "services/administration/"]
1013
COPY ["apps/Tasky.IdentityServer/Tasky.IdentityServer.csproj", "apps/Tasky.IdentityServer/"]
14+
COPY ["services/saas/src/Tasky.SaaSService.EntityFrameworkCore/Tasky.SaaSService.EntityFrameworkCore.csproj", "services/saas/src/Tasky.SaaSService.EntityFrameworkCore/"]
15+
COPY ["services/saas/src/Tasky.SaaSService.Domain/Tasky.SaaSService.Domain.csproj", "services/saas/src/Tasky.SaaSService.Domain/"]
16+
COPY ["services/saas/src/Tasky.SaaSService.Domain.Shared/Tasky.SaaSService.Domain.Shared.csproj", "services/saas/src/Tasky.SaaSService.Domain.Shared/"]
17+
COPY ["services/identity/src/Tasky.IdentityService.EntityFrameworkCore/Tasky.IdentityService.EntityFrameworkCore.csproj", "services/identity/src/Tasky.IdentityService.EntityFrameworkCore/"]
18+
COPY ["services/identity/src/Tasky.IdentityService.Domain/Tasky.IdentityService.Domain.csproj", "services/identity/src/Tasky.IdentityService.Domain/"]
19+
COPY ["services/identity/src/Tasky.IdentityService.Domain.Shared/Tasky.IdentityService.Domain.Shared.csproj", "services/identity/src/Tasky.IdentityService.Domain.Shared/"]
20+
COPY ["shared/Tasky.Shared.Hosting/Tasky.Shared.Hosting.csproj", "shared/Tasky.Shared.Hosting/"]
21+
COPY ["services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/Tasky.AdministrationService.EntityFrameworkCore.csproj", "services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/"]
22+
COPY ["services/administration/src/Tasky.AdministrationService.Domain/Tasky.AdministrationService.Domain.csproj", "services/administration/src/Tasky.AdministrationService.Domain/"]
23+
COPY ["services/administration/src/Tasky.AdministrationService.Domain.Shared/Tasky.AdministrationService.Domain.Shared.csproj", "services/administration/src/Tasky.AdministrationService.Domain.Shared/"]
1124
RUN dotnet restore "apps/Tasky.IdentityServer/Tasky.IdentityServer.csproj"
1225
COPY . .
1326
WORKDIR "/src/apps/Tasky.IdentityServer"

gateway/Tasky.Gateway/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
2+
3+
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
4+
WORKDIR /app
5+
EXPOSE 80
6+
EXPOSE 443
7+
8+
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
9+
WORKDIR /src
10+
COPY ["gateway/Tasky.Gateway/Tasky.Gateway.csproj", "gateway/Tasky.Gateway/"]
11+
RUN dotnet restore "gateway/Tasky.Gateway/Tasky.Gateway.csproj"
12+
COPY . .
13+
WORKDIR "/src/gateway/Tasky.Gateway"
14+
RUN dotnet build "Tasky.Gateway.csproj" -c Release -o /app/build
15+
16+
FROM build AS publish
17+
RUN dotnet publish "Tasky.Gateway.csproj" -c Release -o /app/publish
18+
19+
FROM base AS final
20+
WORKDIR /app
21+
COPY --from=publish /app/publish .
22+
ENTRYPOINT ["dotnet", "Tasky.Gateway.dll"]
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"iisSettings": {
33
"windowsAuthentication": false,
44
"anonymousAuthentication": true,
@@ -10,19 +10,26 @@
1010
"profiles": {
1111
"Tasky.Gateway": {
1212
"commandName": "Project",
13-
"dotnetRunMessages": true,
1413
"launchBrowser": true,
15-
"applicationUrl": "https://localhost:7500;http://localhost:5073",
1614
"environmentVariables": {
1715
"ASPNETCORE_ENVIRONMENT": "Development"
18-
}
16+
},
17+
"applicationUrl": "https://localhost:7500;http://localhost:5073",
18+
"dotnetRunMessages": true
1919
},
2020
"IIS Express": {
2121
"commandName": "IISExpress",
2222
"launchBrowser": true,
2323
"environmentVariables": {
2424
"ASPNETCORE_ENVIRONMENT": "Development"
2525
}
26+
},
27+
"Docker": {
28+
"commandName": "Docker",
29+
"launchBrowser": true,
30+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
31+
"publishAllPorts": true,
32+
"useSSL": true
2633
}
2734
}
28-
}
35+
}

gateway/Tasky.Gateway/Tasky.Gateway.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
<TargetFramework>net6.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
7+
<UserSecretsId>b8ac103a-0ee9-4e52-b1cf-edad78d82b59</UserSecretsId>
8+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
9+
<DockerfileContext>..\..</DockerfileContext>
710
</PropertyGroup>
811
<ItemGroup>
12+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
913
<PackageReference Include="Yarp.ReverseProxy" Version="1.0.0" />
1014
</ItemGroup>
1115
</Project>
Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,40 @@
1-
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
1+
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
2+
3+
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
24
WORKDIR /app
35
EXPOSE 80
6+
EXPOSE 443
47

5-
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
8+
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
69
WORKDIR /src
10+
COPY ["services/administration/NuGet.Config", "services/administration/"]
11+
COPY ["services/identity/NuGet.Config", "services/identity/"]
12+
COPY ["services/saas/NuGet.Config", "services/saas/"]
13+
COPY ["services/administration/host/Tasky.AdministrationService.HttpApi.Host/Tasky.AdministrationService.HttpApi.Host.csproj", "services/administration/host/Tasky.AdministrationService.HttpApi.Host/"]
14+
COPY ["services/administration/src/Tasky.AdministrationService.HttpApi/Tasky.AdministrationService.HttpApi.csproj", "services/administration/src/Tasky.AdministrationService.HttpApi/"]
15+
COPY ["services/administration/src/Tasky.AdministrationService.Application.Contracts/Tasky.AdministrationService.Application.Contracts.csproj", "services/administration/src/Tasky.AdministrationService.Application.Contracts/"]
16+
COPY ["services/administration/src/Tasky.AdministrationService.Domain.Shared/Tasky.AdministrationService.Domain.Shared.csproj", "services/administration/src/Tasky.AdministrationService.Domain.Shared/"]
17+
COPY ["services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/Tasky.AdministrationService.EntityFrameworkCore.csproj", "services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/"]
18+
COPY ["services/administration/src/Tasky.AdministrationService.Domain/Tasky.AdministrationService.Domain.csproj", "services/administration/src/Tasky.AdministrationService.Domain/"]
19+
COPY ["services/administration/src/Tasky.AdministrationService.Application/Tasky.AdministrationService.Application.csproj", "services/administration/src/Tasky.AdministrationService.Application/"]
20+
COPY ["services/identity/src/Tasky.IdentityService.Application.Contracts/Tasky.IdentityService.Application.Contracts.csproj", "services/identity/src/Tasky.IdentityService.Application.Contracts/"]
21+
COPY ["services/identity/src/Tasky.IdentityService.Domain.Shared/Tasky.IdentityService.Domain.Shared.csproj", "services/identity/src/Tasky.IdentityService.Domain.Shared/"]
22+
COPY ["shared/Tasky.Shared.Hosting/Tasky.Shared.Hosting.csproj", "shared/Tasky.Shared.Hosting/"]
23+
COPY ["services/saas/src/Tasky.SaaSService.EntityFrameworkCore/Tasky.SaaSService.EntityFrameworkCore.csproj", "services/saas/src/Tasky.SaaSService.EntityFrameworkCore/"]
24+
COPY ["services/saas/src/Tasky.SaaSService.Domain/Tasky.SaaSService.Domain.csproj", "services/saas/src/Tasky.SaaSService.Domain/"]
25+
COPY ["services/saas/src/Tasky.SaaSService.Domain.Shared/Tasky.SaaSService.Domain.Shared.csproj", "services/saas/src/Tasky.SaaSService.Domain.Shared/"]
26+
COPY ["services/saas/src/Tasky.SaaSService.Application.Contracts/Tasky.SaaSService.Application.Contracts.csproj", "services/saas/src/Tasky.SaaSService.Application.Contracts/"]
27+
COPY ["services/identity/src/Tasky.IdentityService.EntityFrameworkCore/Tasky.IdentityService.EntityFrameworkCore.csproj", "services/identity/src/Tasky.IdentityService.EntityFrameworkCore/"]
28+
COPY ["services/identity/src/Tasky.IdentityService.Domain/Tasky.IdentityService.Domain.csproj", "services/identity/src/Tasky.IdentityService.Domain/"]
29+
RUN dotnet restore "services/administration/host/Tasky.AdministrationService.HttpApi.Host/Tasky.AdministrationService.HttpApi.Host.csproj"
730
COPY . .
8-
WORKDIR /src/templates/service/host/Tasky.AdministrationService.HttpApi.Host
9-
RUN dotnet restore -nowarn:msb3202,nu1503
10-
RUN dotnet build --no-restore -c Release -o /app
31+
WORKDIR "/src/services/administration/host/Tasky.AdministrationService.HttpApi.Host"
32+
RUN dotnet build "Tasky.AdministrationService.HttpApi.Host.csproj" -c Release -o /app/build
1133

1234
FROM build AS publish
13-
RUN dotnet publish --no-restore -c Release -o /app
35+
RUN dotnet publish "Tasky.AdministrationService.HttpApi.Host.csproj" -c Release -o /app/publish
1436

1537
FROM base AS final
1638
WORKDIR /app
17-
COPY --from=publish /app .
18-
ENTRYPOINT ["dotnet", "Tasky.AdministrationService.HttpApi.Host.dll"]
39+
COPY --from=publish /app/publish .
40+
ENTRYPOINT ["dotnet", "Tasky.AdministrationService.HttpApi.Host.dll"]

services/administration/host/Tasky.AdministrationService.HttpApi.Host/Properties/launchSettings.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@
1818
"Tasky.AdministrationService.Host": {
1919
"commandName": "Project",
2020
"launchBrowser": true,
21-
"applicationUrl": "https://localhost:7001",
2221
"environmentVariables": {
2322
"ASPNETCORE_ENVIRONMENT": "Development"
24-
}
23+
},
24+
"applicationUrl": "https://localhost:7001"
25+
},
26+
"Docker": {
27+
"commandName": "Docker",
28+
"launchBrowser": true,
29+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
30+
"publishAllPorts": true,
31+
"useSSL": true
2532
}
2633
}
2734
}

services/administration/host/Tasky.AdministrationService.HttpApi.Host/Tasky.AdministrationService.HttpApi.Host.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<RootNamespace>Tasky.AdministrationService</RootNamespace>
88
<PreserveCompilationReferences>true</PreserveCompilationReferences>
99
<UserSecretsId>Tasky.AdministrationService-c2d31439-b723-48e2-b061-5ebd7aeb6010</UserSecretsId>
10+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
11+
<DockerfileContext>..\..\..\..</DockerfileContext>
1012
</PropertyGroup>
1113

1214
<ItemGroup>
@@ -27,4 +29,8 @@
2729
<None Remove="Logs\**" />
2830
</ItemGroup>
2931

32+
<ItemGroup>
33+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
34+
</ItemGroup>
35+
3036
</Project>
Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
1-
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
1+
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
2+
3+
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
24
WORKDIR /app
35
EXPOSE 80
6+
EXPOSE 443
47

5-
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
8+
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
69
WORKDIR /src
10+
COPY ["services/identity/NuGet.Config", "services/identity/"]
11+
COPY ["services/administration/NuGet.Config", "services/administration/"]
12+
COPY ["services/saas/NuGet.Config", "services/saas/"]
13+
COPY ["services/identity/host/Tasky.IdentityService.HttpApi.Host/Tasky.IdentityService.HttpApi.Host.csproj", "services/identity/host/Tasky.IdentityService.HttpApi.Host/"]
14+
COPY ["services/identity/src/Tasky.IdentityService.HttpApi/Tasky.IdentityService.HttpApi.csproj", "services/identity/src/Tasky.IdentityService.HttpApi/"]
15+
COPY ["services/identity/src/Tasky.IdentityService.Application.Contracts/Tasky.IdentityService.Application.Contracts.csproj", "services/identity/src/Tasky.IdentityService.Application.Contracts/"]
16+
COPY ["services/identity/src/Tasky.IdentityService.Domain.Shared/Tasky.IdentityService.Domain.Shared.csproj", "services/identity/src/Tasky.IdentityService.Domain.Shared/"]
17+
COPY ["services/identity/src/Tasky.IdentityService.Application/Tasky.IdentityService.Application.csproj", "services/identity/src/Tasky.IdentityService.Application/"]
18+
COPY ["services/identity/src/Tasky.IdentityService.Domain/Tasky.IdentityService.Domain.csproj", "services/identity/src/Tasky.IdentityService.Domain/"]
19+
COPY ["services/identity/src/Tasky.IdentityService.EntityFrameworkCore/Tasky.IdentityService.EntityFrameworkCore.csproj", "services/identity/src/Tasky.IdentityService.EntityFrameworkCore/"]
20+
COPY ["services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/Tasky.AdministrationService.EntityFrameworkCore.csproj", "services/administration/src/Tasky.AdministrationService.EntityFrameworkCore/"]
21+
COPY ["services/administration/src/Tasky.AdministrationService.Domain/Tasky.AdministrationService.Domain.csproj", "services/administration/src/Tasky.AdministrationService.Domain/"]
22+
COPY ["services/administration/src/Tasky.AdministrationService.Domain.Shared/Tasky.AdministrationService.Domain.Shared.csproj", "services/administration/src/Tasky.AdministrationService.Domain.Shared/"]
23+
COPY ["shared/Tasky.Shared.Hosting/Tasky.Shared.Hosting.csproj", "shared/Tasky.Shared.Hosting/"]
24+
COPY ["services/saas/src/Tasky.SaaSService.EntityFrameworkCore/Tasky.SaaSService.EntityFrameworkCore.csproj", "services/saas/src/Tasky.SaaSService.EntityFrameworkCore/"]
25+
COPY ["services/saas/src/Tasky.SaaSService.Domain/Tasky.SaaSService.Domain.csproj", "services/saas/src/Tasky.SaaSService.Domain/"]
26+
COPY ["services/saas/src/Tasky.SaaSService.Domain.Shared/Tasky.SaaSService.Domain.Shared.csproj", "services/saas/src/Tasky.SaaSService.Domain.Shared/"]
27+
RUN dotnet restore "services/identity/host/Tasky.IdentityService.HttpApi.Host/Tasky.IdentityService.HttpApi.Host.csproj"
728
COPY . .
8-
WORKDIR /src/templates/service/host/Tasky.IdentityService.HttpApi.Host
9-
RUN dotnet restore -nowarn:msb3202,nu1503
10-
RUN dotnet build --no-restore -c Release -o /app
29+
WORKDIR "/src/services/identity/host/Tasky.IdentityService.HttpApi.Host"
30+
RUN dotnet build "Tasky.IdentityService.HttpApi.Host.csproj" -c Release -o /app/build
1131

1232
FROM build AS publish
13-
RUN dotnet publish --no-restore -c Release -o /app
33+
RUN dotnet publish "Tasky.IdentityService.HttpApi.Host.csproj" -c Release -o /app/publish
1434

1535
FROM base AS final
1636
WORKDIR /app
17-
COPY --from=publish /app .
18-
ENTRYPOINT ["dotnet", "Tasky.IdentityService.HttpApi.Host.dll"]
37+
COPY --from=publish /app/publish .
38+
ENTRYPOINT ["dotnet", "Tasky.IdentityService.HttpApi.Host.dll"]

services/identity/host/Tasky.IdentityService.HttpApi.Host/Properties/launchSettings.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@
1818
"Tasky.IdentityService.Host": {
1919
"commandName": "Project",
2020
"launchBrowser": true,
21-
"applicationUrl": "https://localhost:7002",
2221
"environmentVariables": {
2322
"ASPNETCORE_ENVIRONMENT": "Development"
24-
}
23+
},
24+
"applicationUrl": "https://localhost:7002"
25+
},
26+
"Docker": {
27+
"commandName": "Docker",
28+
"launchBrowser": true,
29+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
30+
"publishAllPorts": true,
31+
"useSSL": true
2532
}
2633
}
2734
}

services/identity/host/Tasky.IdentityService.HttpApi.Host/Tasky.IdentityService.HttpApi.Host.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<RootNamespace>Tasky.IdentityService</RootNamespace>
88
<PreserveCompilationReferences>true</PreserveCompilationReferences>
99
<UserSecretsId>Tasky.IdentityService-c2d31439-b723-48e2-b061-5ebd7aeb6010</UserSecretsId>
10+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
11+
<DockerfileContext>..\..\..\..</DockerfileContext>
1012
</PropertyGroup>
1113

1214
<ItemGroup>
@@ -25,4 +27,8 @@
2527
<None Remove="Logs\**" />
2628
</ItemGroup>
2729

30+
<ItemGroup>
31+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
32+
</ItemGroup>
33+
2834
</Project>

0 commit comments

Comments
 (0)