Skip to content

Commit f183ee8

Browse files
committed
Add docker support
1 parent 8d0cde2 commit f183ee8

File tree

10 files changed

+133
-11
lines changed

10 files changed

+133
-11
lines changed

.dockerignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
**/.classpath
2+
**/.dockerignore
3+
**/.env
4+
**/.git
5+
**/.gitignore
6+
**/.project
7+
**/.settings
8+
**/.toolstarget
9+
**/.vs
10+
**/.vscode
11+
**/*.*proj.user
12+
**/*.dbmdl
13+
**/*.jfm
14+
**/azds.yaml
15+
**/bin
16+
**/charts
17+
**/docker-compose*
18+
**/Dockerfile*
19+
**/node_modules
20+
**/npm-debug.log
21+
**/obj
22+
**/secrets.dev.yaml
23+
**/values.dev.yaml
24+
LICENSE
25+
README.md

src/Meowv.Blog.Admin/Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
2+
WORKDIR /app
3+
EXPOSE 80
4+
EXPOSE 443
5+
6+
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
7+
WORKDIR /src
8+
COPY ["src/Meowv.Blog.Admin/Meowv.Blog.Admin.csproj", "src/Meowv.Blog.Admin/"]
9+
COPY ["src/Meowv.Blog.Response/Meowv.Blog.Response.csproj", "src/Meowv.Blog.Response/"]
10+
RUN dotnet restore "src/Meowv.Blog.Admin/Meowv.Blog.Admin.csproj"
11+
COPY . .
12+
WORKDIR "/src/src/Meowv.Blog.Admin"
13+
RUN dotnet build "Meowv.Blog.Admin.csproj" -c Release -o /app/build
14+
15+
FROM build AS publish
16+
RUN dotnet publish "Meowv.Blog.Admin.csproj" -c Release -o /app/publish
17+
18+
FROM base AS final
19+
WORKDIR /app
20+
COPY --from=publish /app/publish .
21+
ENTRYPOINT ["dotnet", "Meowv.Blog.Admin.dll"]

src/Meowv.Blog.Admin/Meowv.Blog.Admin.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFramework>net5.0</TargetFramework>
5+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
6+
<DockerfileContext>..\..</DockerfileContext>
57
<RootPath>.\</RootPath>
68
</PropertyGroup>
79

810
<ItemGroup>
911
<PackageReference Include="AntDesign.Pro.Layout" Version="0.1.0-nightly-210129055145" />
12+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
1013
<PackageReference Include="Vditor" Version="0.1.0-nightly-201209082656" />
1114

1215
<ProjectReference Include="..\Meowv.Blog.Response\Meowv.Blog.Response.csproj" />

src/Meowv.Blog.Admin/Properties/launchSettings.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,19 @@
1717
},
1818
"Meowv.Blog.Admin": {
1919
"commandName": "Project",
20-
"dotnetRunMessages": "true",
2120
"launchBrowser": true,
22-
"applicationUrl": "https://localhost:5001;http://localhost:5000",
2321
"environmentVariables": {
2422
"ASPNETCORE_ENVIRONMENT": "Development"
25-
}
23+
},
24+
"dotnetRunMessages": "true",
25+
"applicationUrl": "https://localhost:5001;http://localhost:5000"
26+
},
27+
"Docker": {
28+
"commandName": "Docker",
29+
"launchBrowser": true,
30+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
31+
"publishAllPorts": true,
32+
"useSSL": true
2633
}
2734
}
2835
}

src/Meowv.Blog.Api/Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
2+
WORKDIR /app
3+
EXPOSE 80
4+
EXPOSE 443
5+
6+
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
7+
WORKDIR /src
8+
COPY ["src/Meowv.Blog.Api/Meowv.Blog.Api.csproj", "src/Meowv.Blog.Api/"]
9+
COPY ["src/Meowv.Blog.BackgroundWorkers/Meowv.Blog.BackgroundWorkers.csproj", "src/Meowv.Blog.BackgroundWorkers/"]
10+
COPY ["src/Meowv.Blog.Core/Meowv.Blog.Core.csproj", "src/Meowv.Blog.Core/"]
11+
COPY ["src/Meowv.Blog.Response/Meowv.Blog.Response.csproj", "src/Meowv.Blog.Response/"]
12+
COPY ["src/Meowv.Blog.Application/Meowv.Blog.Application.csproj", "src/Meowv.Blog.Application/"]
13+
COPY ["src/Meowv.Blog.MongoDb/Meowv.Blog.MongoDb.csproj", "src/Meowv.Blog.MongoDb/"]
14+
RUN dotnet restore "src/Meowv.Blog.Api/Meowv.Blog.Api.csproj"
15+
COPY . .
16+
WORKDIR "/src/src/Meowv.Blog.Api"
17+
RUN dotnet build "Meowv.Blog.Api.csproj" -c Release -o /app/build
18+
19+
FROM build AS publish
20+
RUN dotnet publish "Meowv.Blog.Api.csproj" -c Release -o /app/publish
21+
22+
FROM base AS final
23+
WORKDIR /app
24+
COPY --from=publish /app/publish .
25+
ENTRYPOINT ["dotnet", "Meowv.Blog.Api.dll"]

src/Meowv.Blog.Api/Meowv.Blog.Api.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFramework>net5.0</TargetFramework>
5+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
6+
<DockerfileContext>..\..</DockerfileContext>
57
</PropertyGroup>
68

79
<ItemGroup>
810
<PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="5.0.1" />
911
<PackageReference Include="AspNetCore.HealthChecks.Redis" Version="5.0.1" />
12+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
1013
<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
1114
<PackageReference Include="Serilog.Sinks.Async" Version="1.4.0" />
1215
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />

src/Meowv.Blog.Api/Properties/launchSettings.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"iisSettings": {
33
"windowsAuthentication": false,
44
"anonymousAuthentication": true,
@@ -17,12 +17,19 @@
1717
},
1818
"Meowv.Blog.Api": {
1919
"commandName": "Project",
20-
"dotnetRunMessages": "true",
2120
"launchBrowser": true,
22-
"applicationUrl": "https://localhost:5001;http://localhost:5000",
2321
"environmentVariables": {
2422
"ASPNETCORE_ENVIRONMENT": "Development"
25-
}
23+
},
24+
"dotnetRunMessages": "true",
25+
"applicationUrl": "https://localhost:5001;http://localhost:5000"
26+
},
27+
"Docker": {
28+
"commandName": "Docker",
29+
"launchBrowser": true,
30+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
31+
"publishAllPorts": true,
32+
"useSSL": true
2633
}
2734
}
2835
}

src/Meowv.Blog.Web/Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
2+
WORKDIR /app
3+
EXPOSE 80
4+
EXPOSE 443
5+
6+
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
7+
WORKDIR /src
8+
COPY ["src/Meowv.Blog.Web/Meowv.Blog.Web.csproj", "src/Meowv.Blog.Web/"]
9+
COPY ["src/Meowv.Blog.Response/Meowv.Blog.Response.csproj", "src/Meowv.Blog.Response/"]
10+
RUN dotnet restore "src/Meowv.Blog.Web/Meowv.Blog.Web.csproj"
11+
COPY . .
12+
WORKDIR "/src/src/Meowv.Blog.Web"
13+
RUN dotnet build "Meowv.Blog.Web.csproj" -c Release -o /app/build
14+
15+
FROM build AS publish
16+
RUN dotnet publish "Meowv.Blog.Web.csproj" -c Release -o /app/publish
17+
18+
FROM base AS final
19+
WORKDIR /app
20+
COPY --from=publish /app/publish .
21+
ENTRYPOINT ["dotnet", "Meowv.Blog.Web.dll"]

src/Meowv.Blog.Web/Meowv.Blog.Web.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
<PropertyGroup>
44
<TargetFramework>net5.0</TargetFramework>
5+
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
6+
<DockerfileContext>..\..</DockerfileContext>
57
</PropertyGroup>
68

79
<ItemGroup>
10+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
811
<PackageReference Include="Vditor" Version="0.1.0-nightly-201209082656" />
912

1013
<ProjectReference Include="..\Meowv.Blog.Response\Meowv.Blog.Response.csproj" />

src/Meowv.Blog.Web/Properties/launchSettings.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"iisSettings": {
33
"windowsAuthentication": false,
44
"anonymousAuthentication": true,
@@ -17,12 +17,19 @@
1717
},
1818
"Meowv.Blog.Web": {
1919
"commandName": "Project",
20-
"dotnetRunMessages": "true",
2120
"launchBrowser": true,
22-
"applicationUrl": "https://localhost:5001;http://localhost:5000",
2321
"environmentVariables": {
2422
"ASPNETCORE_ENVIRONMENT": "Development"
25-
}
23+
},
24+
"dotnetRunMessages": "true",
25+
"applicationUrl": "https://localhost:5001;http://localhost:5000"
26+
},
27+
"Docker": {
28+
"commandName": "Docker",
29+
"launchBrowser": true,
30+
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
31+
"publishAllPorts": true,
32+
"useSSL": true
2633
}
2734
}
2835
}

0 commit comments

Comments
 (0)