Added docker support

This commit is contained in:
Steve Smith
2018-05-22 14:23:55 -04:00
parent 7456c26daf
commit 9075221073
10 changed files with 83 additions and 5 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
.dockerignore
.env
.git
.gitignore
.vs
.vscode
*/bin
*/obj
**/.toolstarget

27
docker-compose.yml Normal file
View File

@@ -0,0 +1,27 @@
version: '3'
services:
eshopwebrazor:
image: eshopwebrazor
build:
context: .
dockerfile: src/WebRazorPages/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5107:5107"
eshopwebmvc:
image: eshopwebmvc
build:
context: .
dockerfile: src/Web/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5106:5106"
networks:
default:
external:
name: nat

19
src/Web/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.1.300-preview1 AS build
RUN npm install -g bower@1.8.4
WORKDIR /src
COPY . .
WORKDIR /src/src/Web
RUN dotnet restore -nowarn:msb3202,nu1503
RUN dotnet build --no-restore -c Release -o /app
FROM build AS publish
RUN dotnet publish --no-restore -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Web.dll"]

View File

@@ -119,7 +119,6 @@ namespace Microsoft.eShopWeb
if (env.IsDevelopment()) if (env.IsDevelopment())
{ {
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
app.UseBrowserLink();
ListAllRegisteredServices(app); ListAllRegisteredServices(app);
app.UseDatabaseErrorPage(); app.UseDatabaseErrorPage();
} }

View File

@@ -9,7 +9,7 @@
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-rc1-final" /> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0-rc1-final" PrivateAssets="All" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0-rc1-final" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-rc1-final" PrivateAssets="All" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-rc1-final" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.1.0-preview1-final" /> </ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Views\Catalog\" /> <Folder Include="Views\Catalog\" />
<Folder Include="wwwroot\fonts\" /> <Folder Include="wwwroot\fonts\" />

View File

@@ -0,0 +1,19 @@
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.1.300-preview1 AS build
RUN npm install -g bower@1.8.4
WORKDIR /src
COPY . .
WORKDIR /src/src/WebRazorPages
RUN dotnet restore -nowarn:msb3202,nu1503
RUN dotnet build --no-restore -c Release -o /app
FROM build AS publish
RUN dotnet publish --no-restore -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Microsoft.eShopWeb.RazorPages.dll"]

View File

@@ -41,7 +41,7 @@ namespace Microsoft.eShopWeb.RazorPages
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args) WebHost.CreateDefaultBuilder(args)
.UseUrls("http://0.0.0.0:5106") .UseUrls("http://0.0.0.0:5107")
.UseStartup<Startup>(); .UseStartup<Startup>();
} }
} }

View File

@@ -22,6 +22,11 @@
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
}, },
"applicationUrl": "http://localhost:28656/" "applicationUrl": "http://localhost:28656/"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://localhost:{ServicePort}"
} }
} }
} }

View File

@@ -124,7 +124,6 @@ namespace Microsoft.eShopWeb.RazorPages
if (env.IsDevelopment()) if (env.IsDevelopment())
{ {
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
app.UseBrowserLink();
ListAllRegisteredServices(app); ListAllRegisteredServices(app);
app.UseDatabaseErrorPage(); app.UseDatabaseErrorPage();
} }

View File

@@ -3,10 +3,11 @@
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.1</TargetFramework>
<RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace> <RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace>
<AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName> <AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName>
<DockerTargetOS>Linux</DockerTargetOS>
<UserSecretsId>231ddc1b-6787-4704-a0c0-18df6a022660</UserSecretsId>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-rc1-final" /> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.1.0-preview1-final" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> <ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" />