diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.windows b/src/Services/Catalog/Catalog.API/Dockerfile.windows
new file mode 100644
index 000000000..9221a4597
--- /dev/null
+++ b/src/Services/Catalog/Catalog.API/Dockerfile.windows
@@ -0,0 +1,6 @@
+FROM microsoft/aspnet
+ARG source
+WORKDIR /app
+EXPOSE 80
+COPY ${source:-obj/Docker/publish} .
+ENTRYPOINT ["dotnet", "Catalog.API.dll"]
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms.sln b/src/Web/Catalog.WebForms/Catalog.WebForms.sln
index 318e6f164..a2ba91ace 100644
--- a/src/Web/Catalog.WebForms/Catalog.WebForms.sln
+++ b/src/Web/Catalog.WebForms/Catalog.WebForms.sln
@@ -5,6 +5,10 @@ VisualStudioVersion = 15.0.26228.9
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Catalog.WebForms", "Catalog.WebForms\Catalog.WebForms.csproj", "{487A4E92-FAA3-415C-A019-6EDADB8AB1D9}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Catalog.API", "..\..\Services\Catalog\Catalog.API\Catalog.API.csproj", "{3D130B2D-632C-4839-8CF7-F2F70EA43306}"
+EndProject
+Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{E562EED3-9F2F-459B-83AE-C6F15706B7AD}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +19,14 @@ Global
{487A4E92-FAA3-415C-A019-6EDADB8AB1D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{487A4E92-FAA3-415C-A019-6EDADB8AB1D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{487A4E92-FAA3-415C-A019-6EDADB8AB1D9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3D130B2D-632C-4839-8CF7-F2F70EA43306}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3D130B2D-632C-4839-8CF7-F2F70EA43306}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3D130B2D-632C-4839-8CF7-F2F70EA43306}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3D130B2D-632C-4839-8CF7-F2F70EA43306}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E562EED3-9F2F-459B-83AE-C6F15706B7AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E562EED3-9F2F-459B-83AE-C6F15706B7AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E562EED3-9F2F-459B-83AE-C6F15706B7AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E562EED3-9F2F-459B-83AE-C6F15706B7AD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/.dockerignore b/src/Web/Catalog.WebForms/Catalog.WebForms/.dockerignore
new file mode 100644
index 000000000..7e297f6d2
--- /dev/null
+++ b/src/Web/Catalog.WebForms/Catalog.WebForms/.dockerignore
@@ -0,0 +1,3 @@
+*
+!obj\Docker\publish\*
+!obj\Docker\empty\
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/Catalog.WebForms.csproj b/src/Web/Catalog.WebForms/Catalog.WebForms/Catalog.WebForms.csproj
index 24af1431f..40bd7bb2a 100644
--- a/src/Web/Catalog.WebForms/Catalog.WebForms/Catalog.WebForms.csproj
+++ b/src/Web/Catalog.WebForms/Catalog.WebForms/Catalog.WebForms.csproj
@@ -221,6 +221,11 @@
PreserveNewest
+
+
+ Dockerfile
+
+
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/Dockerfile b/src/Web/Catalog.WebForms/Catalog.WebForms/Dockerfile
new file mode 100644
index 000000000..f480e8dfb
--- /dev/null
+++ b/src/Web/Catalog.WebForms/Catalog.WebForms/Dockerfile
@@ -0,0 +1,4 @@
+FROM microsoft/aspnet
+ARG source
+WORKDIR /inetpub/wwwroot
+COPY ${source:-obj/Docker/publish} .
diff --git a/src/Web/Catalog.WebForms/docker-compose.ci.build.yml b/src/Web/Catalog.WebForms/docker-compose.ci.build.yml
new file mode 100644
index 000000000..045fdea67
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.ci.build.yml
@@ -0,0 +1 @@
+version: '2.1'
diff --git a/src/Web/Catalog.WebForms/docker-compose.dcproj b/src/Web/Catalog.WebForms/docker-compose.dcproj
new file mode 100644
index 000000000..68898c02d
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.dcproj
@@ -0,0 +1,22 @@
+
+
+
+ e562eed3-9f2f-459b-83ae-c6f15706b7ad
+ True
+ http://{ServiceIPAddress}
+ catalog.webforms
+
+
+
+
+ docker-compose.yml
+
+
+ docker-compose.yml
+
+
+ docker-compose.yml
+
+
+
+
\ No newline at end of file
diff --git a/src/Web/Catalog.WebForms/docker-compose.override.yml b/src/Web/Catalog.WebForms/docker-compose.override.yml
new file mode 100644
index 000000000..dc74370aa
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.override.yml
@@ -0,0 +1,27 @@
+version: '2.1'
+
+services:
+ sql.data:
+ environment:
+ - SA_PASSWORD=Pass@word
+ - ACCEPT_EULA=Y
+ ports:
+ - "5433:1433"
+
+ catalog.api:
+ environment:
+ - ASPNETCORE_ENVIRONMENT=Development
+ - ConnectionString=Server=sql.data;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word
+ #- ExternalCatalogBaseUrl=http://13.88.8.119:5101 #Remote: VM Needs to have public access at 5105.
+ - ExternalCatalogBaseUrl=http://localhost:5101 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105.
+ ports:
+ - "5101:5101"
+
+ catalog.webforms:
+ ports:
+ - "80:80"
+
+networks:
+ default:
+ external:
+ name: nat
diff --git a/src/Web/Catalog.WebForms/docker-compose.vs.debug.yml b/src/Web/Catalog.WebForms/docker-compose.vs.debug.yml
new file mode 100644
index 000000000..4485cb1de
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.vs.debug.yml
@@ -0,0 +1,13 @@
+version: '2.1'
+
+services:
+ catalog.webforms:
+ image: catalog.webforms:dev
+ build:
+ args:
+ source: ${DOCKER_BUILD_SOURCE}
+ volumes:
+ - .\Catalog.WebForms:C:\inetpub\wwwroot
+ - ~\msvsmon:C:\msvsmon:ro
+ labels:
+ - "com.microsoft.visualstudio.targetoperatingsystem=windows"
diff --git a/src/Web/Catalog.WebForms/docker-compose.vs.release.yml b/src/Web/Catalog.WebForms/docker-compose.vs.release.yml
new file mode 100644
index 000000000..37992a525
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.vs.release.yml
@@ -0,0 +1,11 @@
+version: '2.1'
+
+services:
+ catalog.webforms:
+ build:
+ args:
+ source: ${DOCKER_BUILD_SOURCE}
+ volumes:
+ - ~\msvsmon:C:\msvsmon:ro
+ labels:
+ - "com.microsoft.visualstudio.targetoperatingsystem=windows"
diff --git a/src/Web/Catalog.WebForms/docker-compose.yml b/src/Web/Catalog.WebForms/docker-compose.yml
new file mode 100644
index 000000000..4eb18f0d2
--- /dev/null
+++ b/src/Web/Catalog.WebForms/docker-compose.yml
@@ -0,0 +1,21 @@
+version: '2.1'
+
+services:
+ catalog.webforms:
+ image: catalog.webforms
+ build:
+ context: .\Catalog.WebForms
+ dockerfile: Dockerfile
+ depends_on:
+ - catalog.api
+
+ catalog.api:
+ image: eshop/catalog.api
+ build:
+ context: ..\..\Services\Catalog\Catalog.API
+ dockerfile: Dockerfile.windows
+ depends_on:
+ - sql.data
+
+ sql.data:
+ image: microsoft/mssql-server-windows