From e2e6789abd6ab62259f1b91d7cfdc930ea09f733 Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Fri, 30 Sep 2016 08:12:01 -0700 Subject: [PATCH 1/3] Remove IIS stuff --- BuildOptimizedImages/src/Web/project.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/BuildOptimizedImages/src/Web/project.json b/BuildOptimizedImages/src/Web/project.json index d9e6ae2..2da05ba 100644 --- a/BuildOptimizedImages/src/Web/project.json +++ b/BuildOptimizedImages/src/Web/project.json @@ -57,7 +57,6 @@ }, "scripts": { - "prepublish": [ "bower install", "dotnet bundle" ], - "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] + "prepublish": [ "bower install", "dotnet bundle" ] } } From 888abb9baca4efc8c997bb6a5774994ec3293e51 Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Fri, 30 Sep 2016 08:18:09 -0700 Subject: [PATCH 2/3] add builder pattern --- BuildOptimizedImages/src/Web/Dockerfile | 11 +++++++++++ BuildOptimizedImages/src/Web/Dockerfile.deploy | 7 +++++++ README.md | 15 +++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 BuildOptimizedImages/src/Web/Dockerfile create mode 100644 BuildOptimizedImages/src/Web/Dockerfile.deploy diff --git a/BuildOptimizedImages/src/Web/Dockerfile b/BuildOptimizedImages/src/Web/Dockerfile new file mode 100644 index 0000000..18be924 --- /dev/null +++ b/BuildOptimizedImages/src/Web/Dockerfile @@ -0,0 +1,11 @@ +FROM microsoft/aspnetcore-build:1.0.1 + +RUN mkdir /app +WORKDIR /app + +ADD project.json . +RUN dotnet restore --no-cache + +ADD . . +RUN dotnet publish --output /out/. --configuration Release +ADD Dockerfile.deploy /out/Dockerfile diff --git a/BuildOptimizedImages/src/Web/Dockerfile.deploy b/BuildOptimizedImages/src/Web/Dockerfile.deploy new file mode 100644 index 0000000..be3add3 --- /dev/null +++ b/BuildOptimizedImages/src/Web/Dockerfile.deploy @@ -0,0 +1,7 @@ +FROM microsoft/dotnet:1.0.1-core + +RUN mkdir /app +WORKDIR /app +ADD . . + +CMD dotnet app.dll diff --git a/README.md b/README.md index 47a3161..98fce65 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,17 @@ # BuildASPDotNetInAContainer Sample used to build and test an ASP.NET Core Web app in a container + +# Builder container pattern + +Here's how to build the app in a container with the full .NET Core SDK, publish, export and then import in a smaller runtime container image: + +1. `cd BuildOptimizedImages\src\Web` +2. `$image_id = docker build -q .` +3. `$container_id = docker create $image_id.split(":")[1]` +4. `$tmp_folder_name = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName())` +5 `mkdir $tmp_folder_name` +7. ``docker cp $container_id`:/out $tmp_folder_name`` +8. `docker rm $container_id` +9. `docker build -t app $tmp_folder_name\out` +10. `Remove-Item -Recurse -Force $tmp_folder_name` +11 `docker run app` From f6995449381cded86b4635156cc7b368e66c2a77 Mon Sep 17 00:00:00 2001 From: Michael Friis Date: Fri, 30 Sep 2016 08:33:51 -0700 Subject: [PATCH 3/3] fix list --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 98fce65..6f3f9a1 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ Here's how to build the app in a container with the full .NET Core SDK, publish, 2. `$image_id = docker build -q .` 3. `$container_id = docker create $image_id.split(":")[1]` 4. `$tmp_folder_name = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName())` -5 `mkdir $tmp_folder_name` -7. ``docker cp $container_id`:/out $tmp_folder_name`` -8. `docker rm $container_id` -9. `docker build -t app $tmp_folder_name\out` -10. `Remove-Item -Recurse -Force $tmp_folder_name` -11 `docker run app` +5. `mkdir $tmp_folder_name` +6. ``docker cp $container_id`:/out $tmp_folder_name`` +7. `docker rm $container_id` +8. `docker build -t app $tmp_folder_name\out` +9. `Remove-Item -Recurse -Force $tmp_folder_name` +10. `docker run app`