From 11928462250b0c9f94dedca8d0e7c5581273578d Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 24 Mar 2017 16:34:03 -0400 Subject: [PATCH] Add docker support for the webForms application. --- .../Catalog/Catalog.API/Dockerfile.windows | 6 +++++ src/Web/Catalog.WebForms/Catalog.WebForms.sln | 12 +++++++++ .../Catalog.WebForms/.dockerignore | 3 +++ .../Catalog.WebForms/Catalog.WebForms.csproj | 5 ++++ .../Catalog.WebForms/Dockerfile | 4 +++ .../docker-compose.ci.build.yml | 1 + .../Catalog.WebForms/docker-compose.dcproj | 22 +++++++++++++++ .../docker-compose.override.yml | 27 +++++++++++++++++++ .../docker-compose.vs.debug.yml | 13 +++++++++ .../docker-compose.vs.release.yml | 11 ++++++++ src/Web/Catalog.WebForms/docker-compose.yml | 21 +++++++++++++++ 11 files changed, 125 insertions(+) create mode 100644 src/Services/Catalog/Catalog.API/Dockerfile.windows create mode 100644 src/Web/Catalog.WebForms/Catalog.WebForms/.dockerignore create mode 100644 src/Web/Catalog.WebForms/Catalog.WebForms/Dockerfile create mode 100644 src/Web/Catalog.WebForms/docker-compose.ci.build.yml create mode 100644 src/Web/Catalog.WebForms/docker-compose.dcproj create mode 100644 src/Web/Catalog.WebForms/docker-compose.override.yml create mode 100644 src/Web/Catalog.WebForms/docker-compose.vs.debug.yml create mode 100644 src/Web/Catalog.WebForms/docker-compose.vs.release.yml create mode 100644 src/Web/Catalog.WebForms/docker-compose.yml 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