Browse Source

Added docker support

main
Steve Smith 8 years ago
parent
commit
9075221073
  1. 9
      .dockerignore
  2. 27
      docker-compose.yml
  3. 19
      src/Web/Dockerfile
  4. 1
      src/Web/Startup.cs
  5. 2
      src/Web/Web.csproj
  6. 19
      src/WebRazorPages/Dockerfile
  7. 2
      src/WebRazorPages/Program.cs
  8. 5
      src/WebRazorPages/Properties/launchSettings.json
  9. 1
      src/WebRazorPages/Startup.cs
  10. 3
      src/WebRazorPages/WebRazorPages.csproj

9
.dockerignore

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

27
docker-compose.yml

@ -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

@ -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"]

1
src/Web/Startup.cs

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

2
src/Web/Web.csproj

@ -9,7 +9,7 @@
<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.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>
<Folder Include="Views\Catalog\" />
<Folder Include="wwwroot\fonts\" />

19
src/WebRazorPages/Dockerfile

@ -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"]

2
src/WebRazorPages/Program.cs

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

5
src/WebRazorPages/Properties/launchSettings.json

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

1
src/WebRazorPages/Startup.cs

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

3
src/WebRazorPages/WebRazorPages.csproj

@ -3,10 +3,11 @@
<TargetFramework>netcoreapp2.1</TargetFramework>
<RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace>
<AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName>
<DockerTargetOS>Linux</DockerTargetOS>
<UserSecretsId>231ddc1b-6787-4704-a0c0-18df6a022660</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<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>
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" />

Loading…
Cancel
Save