From 400e44dc34a726cacd3752336fefa10565cea9fc Mon Sep 17 00:00:00 2001 From: dsanz Date: Tue, 28 Feb 2017 12:22:51 +0100 Subject: [PATCH] Add docker to the monolithic app --- eShopWeb.sln | 34 ------------------- .../WebMonolithic/docker-compose.ci.build.yml | 9 +++++ src/Web/WebMonolithic/docker-compose.dcproj | 22 ++++++++++++ .../WebMonolithic/docker-compose.override.yml | 15 ++++++++ .../WebMonolithic/docker-compose.vs.debug.yml | 17 ++++++++++ .../docker-compose.vs.release.yml | 12 +++++++ src/Web/WebMonolithic/docker-compose.yml | 12 +++++++ src/Web/WebMonolithic/eShopWeb.sln | 14 ++++++++ src/Web/WebMonolithic/eShopWeb/.dockerignore | 3 ++ src/Web/WebMonolithic/eShopWeb/Dockerfile | 6 ++++ .../WebMonolithic/eShopWeb/eShopWeb.csproj | 2 ++ 11 files changed, 112 insertions(+), 34 deletions(-) delete mode 100644 eShopWeb.sln create mode 100644 src/Web/WebMonolithic/docker-compose.ci.build.yml create mode 100644 src/Web/WebMonolithic/docker-compose.dcproj create mode 100644 src/Web/WebMonolithic/docker-compose.override.yml create mode 100644 src/Web/WebMonolithic/docker-compose.vs.debug.yml create mode 100644 src/Web/WebMonolithic/docker-compose.vs.release.yml create mode 100644 src/Web/WebMonolithic/docker-compose.yml create mode 100644 src/Web/WebMonolithic/eShopWeb/.dockerignore create mode 100644 src/Web/WebMonolithic/eShopWeb/Dockerfile diff --git a/eShopWeb.sln b/eShopWeb.sln deleted file mode 100644 index 3ebb9cd82..000000000 --- a/eShopWeb.sln +++ /dev/null @@ -1,34 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26206.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopWeb", "src\Web\WebMonolithic\eShopWeb\eShopWeb.csproj", "{CA5B730B-7195-4E29-B030-A2007E004B98}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|x64.ActiveCfg = Debug|x64 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|x64.Build.0 = Debug|x64 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|x86.ActiveCfg = Debug|x86 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Debug|x86.Build.0 = Debug|x86 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|Any CPU.Build.0 = Release|Any CPU - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x64.ActiveCfg = Release|x64 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x64.Build.0 = Release|x64 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x86.ActiveCfg = Release|x86 - {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/Web/WebMonolithic/docker-compose.ci.build.yml b/src/Web/WebMonolithic/docker-compose.ci.build.yml new file mode 100644 index 000000000..7ec6ead35 --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.ci.build.yml @@ -0,0 +1,9 @@ +version: '2' + +services: + ci-build: + image: microsoft/aspnetcore-build:1.0-1.1 + volumes: + - .:/src + working_dir: /src + command: /bin/bash -c "dotnet restore ./eShopWeb.sln && dotnet publish ./eShopWeb.sln -c Release -o ./obj/Docker/publish" diff --git a/src/Web/WebMonolithic/docker-compose.dcproj b/src/Web/WebMonolithic/docker-compose.dcproj new file mode 100644 index 000000000..b28ab2725 --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.dcproj @@ -0,0 +1,22 @@ + + + + 91cd7b6e-a849-48c1-b058-4bc47c4cd978 + True + http://localhost:{ServicePort} + eshopweb + + + + + docker-compose.yml + + + docker-compose.yml + + + docker-compose.yml + + + + \ No newline at end of file diff --git a/src/Web/WebMonolithic/docker-compose.override.yml b/src/Web/WebMonolithic/docker-compose.override.yml new file mode 100644 index 000000000..22b88ccca --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.override.yml @@ -0,0 +1,15 @@ +version: '2' + +services: + eshopweb: + environment: + - ASPNETCORE_ENVIRONMENT=Development + ports: + - "5106:5106" + + sql.data: + environment: + - SA_PASSWORD=Pass@word + - ACCEPT_EULA=Y + ports: + - "5433:1433" diff --git a/src/Web/WebMonolithic/docker-compose.vs.debug.yml b/src/Web/WebMonolithic/docker-compose.vs.debug.yml new file mode 100644 index 000000000..0aa60f486 --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.vs.debug.yml @@ -0,0 +1,17 @@ +version: '2' + +services: + eshopweb: + image: eshop/web:dev + build: + args: + source: ${DOCKER_BUILD_SOURCE} + environment: + - DOTNET_USE_POLLING_FILE_WATCHER=1 + volumes: + - ./eShopWeb:/app + - ~/.nuget/packages:/root/.nuget/packages:ro + - ~/clrdbg:/clrdbg:ro + entrypoint: tail -f /dev/null + labels: + - "com.microsoft.visualstudio.targetoperatingsystem=linux" diff --git a/src/Web/WebMonolithic/docker-compose.vs.release.yml b/src/Web/WebMonolithic/docker-compose.vs.release.yml new file mode 100644 index 000000000..2be468989 --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.vs.release.yml @@ -0,0 +1,12 @@ +version: '2' + +services: + eshopweb: + build: + args: + source: ${DOCKER_BUILD_SOURCE} + volumes: + - ~/clrdbg:/clrdbg:ro + entrypoint: tail -f /dev/null + labels: + - "com.microsoft.visualstudio.targetoperatingsystem=linux" diff --git a/src/Web/WebMonolithic/docker-compose.yml b/src/Web/WebMonolithic/docker-compose.yml new file mode 100644 index 000000000..dceec42c5 --- /dev/null +++ b/src/Web/WebMonolithic/docker-compose.yml @@ -0,0 +1,12 @@ +version: '2' + +services: + eshopweb: + image: eshop/web + build: + context: ./eShopWeb + dockerfile: Dockerfile + depends_on: + - sql.data + sql.data: + image: microsoft/mssql-server-linux diff --git a/src/Web/WebMonolithic/eShopWeb.sln b/src/Web/WebMonolithic/eShopWeb.sln index dab195200..766f7a7e5 100644 --- a/src/Web/WebMonolithic/eShopWeb.sln +++ b/src/Web/WebMonolithic/eShopWeb.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.26206.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eShopWeb", "eShopWeb\eShopWeb.csproj", "{CA5B730B-7195-4E29-B030-A2007E004B98}" EndProject +Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{91CD7B6E-A849-48C1-B058-4BC47C4CD978}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,18 @@ Global {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x64.Build.0 = Release|x64 {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x86.ActiveCfg = Release|x86 {CA5B730B-7195-4E29-B030-A2007E004B98}.Release|x86.Build.0 = Release|x86 + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|x64.ActiveCfg = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|x64.Build.0 = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|x86.ActiveCfg = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Debug|x86.Build.0 = Debug|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|Any CPU.Build.0 = Release|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|x64.ActiveCfg = Release|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|x64.Build.0 = Release|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|x86.ActiveCfg = Release|Any CPU + {91CD7B6E-A849-48C1-B058-4BC47C4CD978}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Web/WebMonolithic/eShopWeb/.dockerignore b/src/Web/WebMonolithic/eShopWeb/.dockerignore new file mode 100644 index 000000000..d8f8175f6 --- /dev/null +++ b/src/Web/WebMonolithic/eShopWeb/.dockerignore @@ -0,0 +1,3 @@ +* +!obj/Docker/publish/* +!obj/Docker/empty/ diff --git a/src/Web/WebMonolithic/eShopWeb/Dockerfile b/src/Web/WebMonolithic/eShopWeb/Dockerfile new file mode 100644 index 000000000..c27a6da40 --- /dev/null +++ b/src/Web/WebMonolithic/eShopWeb/Dockerfile @@ -0,0 +1,6 @@ +FROM microsoft/aspnetcore:1.0 +ARG source +WORKDIR /app +EXPOSE 80 +COPY ${source:-obj/Docker/publish} . +ENTRYPOINT ["dotnet", "eShopWeb.dll"] diff --git a/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj b/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj index 8ebbdd898..e66d0eb05 100644 --- a/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj +++ b/src/Web/WebMonolithic/eShopWeb/eShopWeb.csproj @@ -6,6 +6,7 @@ $(PackageTargetFallback);portable-net45+win8+wp8+wpa81; + ..\docker-compose.dcproj @@ -54,6 +55,7 @@ +