From a2ff2b6dcbf78a3cddc5e41cd866cb651ad185e5 Mon Sep 17 00:00:00 2001 From: dotnet-docker-bot <60522487+dotnet-docker-bot@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:39:13 -0500 Subject: [PATCH 1/9] [main] Update common Docker engineering infrastructure with latest (#5803) --- eng/common/templates/variables/docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/common/templates/variables/docker-images.yml b/eng/common/templates/variables/docker-images.yml index 5c32b8d82a..028c5f193c 100644 --- a/eng/common/templates/variables/docker-images.yml +++ b/eng/common/templates/variables/docker-images.yml @@ -1,5 +1,5 @@ variables: - imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2513853 + imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2516503 imageNames.imageBuilder: $(imageNames.imageBuilderName) imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId) imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner2.0-docker-testrunner From 0d24d1aa37deb76e1a48916d0470ec4a4af7113e Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Fri, 16 Aug 2024 09:51:40 -0700 Subject: [PATCH 2/9] Update new distro release checklist to specify creating issue for Alpine Dockerfiles removal (#5800) --- .github/ISSUE_TEMPLATE/new-distro-release.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/new-distro-release.md b/.github/ISSUE_TEMPLATE/new-distro-release.md index 32846f26b2..2c48ac6fac 100644 --- a/.github/ISSUE_TEMPLATE/new-distro-release.md +++ b/.github/ISSUE_TEMPLATE/new-distro-release.md @@ -15,7 +15,7 @@ assignees: lbussell 1. - [ ] Copy the Dockerfiles of the most recent version of that distro (or author new ones for an entirely new distro) and place them in a version-specific folder under their respective variants (runtime-deps, runtime, aspnet, sdk). Note: not all variants have a corresponding runtime-deps image. 1. - [ ] Modify the Dockerfiles as appropriate for any specific changes related to the new distro version 1. - [ ] Update [manifest.json](https://github.com/dotnet/dotnet-docker/blob/nightly/manifest.json) to reference the new set of Dockerfiles with the appropriate tags - - [ ] Move any distro-specific floating tags to the newer version (e.g. `6.0-alpine`) + - [ ] For Alpine Linux, make sure to only update the floating tags according to our [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). Only move the floating tags in the nightly branch if they should be updated in main for the next servicing release. 1. - [ ] Update the [test data](https://github.com/dotnet/dotnet-docker/blob/nightly/tests/Microsoft.DotNet.Docker.Tests/TestData.cs) to include the new distro version 1. - [ ] Update the [tags metadata templates](https://github.com/dotnet/dotnet-docker/tree/main/eng/mcr-tags-metadata-templates) to include the new distro version 1. - [ ] Run the command to update the READMEs: `.\eng\readme-templates\Get-GeneratedReadmes.ps1` @@ -33,5 +33,5 @@ assignees: lbussell ## Main Branch Tasks 1. - [ ] After the product teams have signed off on the new distro, merge these changes to the main branch as part of the [release process](https://github.com/dotnet/release/blob/main/.github/ISSUE_TEMPLATE/dotnet-docker-servicing-release.md) for the next .NET release - - [ ] For Alpine, follow the [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) to only update the floating `alpine` tag one month after the release of the new Alpine version. Since nightly will already have the floating tag updated, the initial release of the new Alpine version to main will need to account for this and keep it set to the older version for one month. + - [ ] For Alpine, [file an issue](https://github.com/dotnet/dotnet-docker/issues/new?body=In+the+MMMM+YYYY+servicing+release%2C+%5BAlpine+3.XX+container+images+were+published%5D%28link+to+announcement%29.+In+the+MMMM+YYYY+servicing+release%2C+all+Alpine+floating+tags+were+updated+to+target+Alpine+3.XX+instead+of+Alpine+3.XX-1+according+to+our+%5Btagging+policy%5D%28https%3A%2F%2Fgithub.com%2Fdotnet%2Fdotnet-docker%2Fblob%2Fmain%2Fdocumentation%2Fsupported-tags.md%29.%0D%0A%0D%0APer+the+%5B.NET+Docker+platform+support+policy%5D%28https%3A%2F%2Fgithub.com%2Fdotnet%2Fdotnet-docker%2Fblob%2Fmain%2Fdocumentation%2Fsupported-platforms.md%23linux%29%2C+Alpine+3.XX+images+will+no+longer+be+maintained+starting+on+YYYY-MM-DD.+This+issue+tracks+removing+those+Dockerfiles.%0D%0A%0D%0ARelated%3A+link+to+PR+adding+Alpine+3.XX&title=Remove+Alpine+3.XX+Dockerfiles) to update the floating `alpine` tag according to our [policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). 1. - [ ] Create an announcement (example: [Alpine 3.10](https://github.com/dotnet/dotnet-docker/issues/1418)) unless the new distro is added only for pre-release versions in which the announcement would be incorporated in the pre-release notes. From dde45e52de8c402b0d8e6341d619b30b0359ab7c Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Fri, 16 Aug 2024 12:34:35 -0700 Subject: [PATCH 3/9] Add supported tags and platforms policy for application/tooling images (#5805) --- documentation/supported-platforms.md | 8 ++++++-- documentation/supported-tags.md | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/documentation/supported-platforms.md b/documentation/supported-platforms.md index c84f236c23..02671c0f36 100644 --- a/documentation/supported-platforms.md +++ b/documentation/supported-platforms.md @@ -4,7 +4,7 @@ This document describes the platforms (OS and architectures) supported by the of ## Operating Systems -.NET tries to [support a broad set of operating systems and versions](https://github.com/dotnet/core/blob/master/os-lifecycle-policy.md). With containers, it’s too expensive and confusing to support the full matrix of options. In practice, images are produced for a select set of operating systems and versions. If official .NET Docker images aren't provided for your choice OS, you'll need to [author your own Dockerfile which installs .NET](scenarios/installing-dotnet.md). +.NET supports [a broad set of operating systems and versions](https://github.com/dotnet/core/blob/master/os-lifecycle-policy.md). When producing container images, it’s impractical to support the full matrix of OS, arch, and .NET version combinations. In practice, images are produced for a select set of operating systems and versions. If official .NET container images aren't provided for your preferred OS, [let us know by opening a discussion](https://github.com/dotnet/dotnet-docker/discussions). Alternatively, you can [author your own .NET images](scenarios/installing-dotnet.md). ### Linux @@ -17,9 +17,13 @@ Each distribution (distro) has a unique approach to releasing, schedule, and end Pre-release versions of the supported distros will be made available within the [nightly repositories](https://github.com/dotnet/dotnet-docker/blob/nightly/README.md) based on the availability of pre-release OS base images. +## FedRAMP Compliance + +For [.NET appliance images](./supported-tags.md#net-appliance-images) based on Azure Linux, base image OS upgrades will be delayed until the new version of Azure Linux has FedRAMP approval. + ### Windows -The official .NET images support Nano Server as well as LTS versions of Windows Server Core for .NET 5.0 and higher. Nano Server is the best Windows SKU to run .NET apps from a performance perspective. In order for Nano Server to perform well and remain lightweight, it doesn't have support for every scenario. In case your scenario isn't supported by Nano Server, you may need to use one of the .NET images based on Windows Server Core. For scenarios where the official .NET images don't meet your needs, you will need to manage your own custom .NET images based on [Windows Server Core](https://hub.docker.com/_/microsoft-windows-servercore) or [Windows](https://hub.docker.com/_/microsoft-windows). +The official .NET images support Nano Server as well as LTS versions of Windows Server Core for .NET 5.0 and higher. Nano Server is the best Windows SKU to run .NET apps from a performance perspective. In order for Nano Server to perform well and remain lightweight, it doesn't have support for every scenario. In case your scenario isn't supported by Nano Server, you may need to use one of the .NET images based on Windows Server Core. For scenarios where the official .NET images don't meet your needs, you will need to manage your own custom .NET images based on [Windows Server Core](https://hub.docker.com/r/microsoft/windows-servercore) or [Windows](https://hub.docker.com/r/microsoft/windows). - Nano Server - support all supported versions with each .NET version. - Windows Server Core - support all LTS versions (Windows Server 2019 and above) starting with .NET 5.0. diff --git a/documentation/supported-tags.md b/documentation/supported-tags.md index e2b5399631..3198da97b8 100644 --- a/documentation/supported-tags.md +++ b/documentation/supported-tags.md @@ -189,6 +189,20 @@ Examples: > - If an image is only available for one operating system, then the operating system will be omitted from the tag. > - For [Debian](https://en.wikipedia.org/wiki/Debian_version_history) and [Ubuntu](https://en.wikipedia.org/wiki/Ubuntu_version_history) images, release codenames are used instead of version numbers. +### .NET appliance images + +.NET produces several appliance images containing useful diagnostic tools and applications: + +- [.NET Monitor](../README.monitor.md#full-tag-listing) +- [.NET Monitor Base](../README.monitor-base.md#full-tag-listing) +- [.NET Aspire Dashboard](../README.aspire-dashboard.md#full-tag-listing) + +These appliance images provide value based on the .NET apps they include. +Their base operating system is an implementation detail and should not affect the intended use or behavior of these images. +They use [distroless](./distroless.md) operating systems whenever possible, further reducing the importance of the base image OS. +These images may receive base image OS upgrades in the middle of major or minor version releases, provided this doesn't cause any breaking changes to the image's functionality. +As such, these images may have tags that don't specify an OS version, or in some cases won't even refer to an OS at all. + ### Windows tags For Windows, `amd64` is the only architecture supported and is excluded from the tag name. From 5ce6c732864ade703baa994ebb19a1b6a44ef38d Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Fri, 16 Aug 2024 13:49:23 -0700 Subject: [PATCH 4/9] Fix incorrect header level in supported platforms documentation (#5810) --- documentation/supported-platforms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/supported-platforms.md b/documentation/supported-platforms.md index 02671c0f36..55def8d8c0 100644 --- a/documentation/supported-platforms.md +++ b/documentation/supported-platforms.md @@ -17,7 +17,7 @@ Each distribution (distro) has a unique approach to releasing, schedule, and end Pre-release versions of the supported distros will be made available within the [nightly repositories](https://github.com/dotnet/dotnet-docker/blob/nightly/README.md) based on the availability of pre-release OS base images. -## FedRAMP Compliance +#### FedRAMP Compliance For [.NET appliance images](./supported-tags.md#net-appliance-images) based on Azure Linux, base image OS upgrades will be delayed until the new version of Azure Linux has FedRAMP approval. From d2cc556bd0ae4fc047daf4f3b12b6069f199fb2d Mon Sep 17 00:00:00 2001 From: Michael Simons Date: Fri, 16 Aug 2024 16:43:31 -0500 Subject: [PATCH 5/9] Switch markdownlint GH action to use super-linter (#5809) --- .github/linters/.markdown-lint.yml | 5 +++ .github/workflows/lint-code-base.yml | 31 +++++++++++++++++++ .../markdownlint-problem-matcher.json | 17 ---------- .github/workflows/markdownlint.yml | 29 ----------------- .markdownlint.json | 8 ----- samples/aspnetapp/README.md | 2 +- samples/releasesapi/README.md | 4 +-- 7 files changed, 39 insertions(+), 57 deletions(-) create mode 100644 .github/linters/.markdown-lint.yml create mode 100644 .github/workflows/lint-code-base.yml delete mode 100644 .github/workflows/markdownlint-problem-matcher.json delete mode 100644 .github/workflows/markdownlint.yml delete mode 100644 .markdownlint.json diff --git a/.github/linters/.markdown-lint.yml b/.github/linters/.markdown-lint.yml new file mode 100644 index 0000000000..4610e6c228 --- /dev/null +++ b/.github/linters/.markdown-lint.yml @@ -0,0 +1,5 @@ +default: true +MD013: false # line length +MD024: # no-duplicate-heading Multiple headings with the same content + siblings_only: true +MD033: false # no inline HTML diff --git a/.github/workflows/lint-code-base.yml b/.github/workflows/lint-code-base.yml new file mode 100644 index 0000000000..779a667ec2 --- /dev/null +++ b/.github/workflows/lint-code-base.yml @@ -0,0 +1,31 @@ +name: Lint Code Base + +on: + pull_request: null + +permissions: {} + +jobs: + run-lint: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: read + # To report GitHub Actions status checks + statuses: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + # Full git history is needed to get a proper list of changed files within `super-linter` + fetch-depth: 0 + - name: Lint Code Base + uses: github/super-linter@v6 # https://github.com/github/super-linter + env: + DEFAULT_BRANCH: main + FILTER_REGEX_EXCLUDE: eng/common/.*|eng/readme-templates/.* + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VALIDATE_ALL_CODEBASE: false + VALIDATE_MARKDOWN: true diff --git a/.github/workflows/markdownlint-problem-matcher.json b/.github/workflows/markdownlint-problem-matcher.json deleted file mode 100644 index f0741f6b90..0000000000 --- a/.github/workflows/markdownlint-problem-matcher.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "markdownlint", - "pattern": [ - { - "regexp": "^([^:]*):(\\d+):?(\\d+)?\\s([\\w-\\/]*)\\s(.*)$", - "file": 1, - "line": 2, - "column": 3, - "code": 4, - "message": 5 - } - ] - } - ] -} diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml deleted file mode 100644 index e23df07b72..0000000000 --- a/.github/workflows/markdownlint.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: markdownlint - -permissions: - contents: read - -on: - pull_request: - paths: - - "**/*.md" - - "**/.markdownlint.json" - - ".github/workflows/markdownlint.yml" - - ".github/workflows/markdownlint-problem-matcher.json" - -jobs: - lint: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js - uses: actions/setup-node@v4 - with: - node-version: lts/* - - name: Run Markdownlint - run: | - echo "::add-matcher::.github/workflows/markdownlint-problem-matcher.json" - npm i -g markdownlint-cli - markdownlint "**/*.md" -i "eng/readme-templates/*" -i "eng/common/*" diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index 2b5d8b3039..0000000000 --- a/.markdownlint.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "default": true, - "MD013": false, // line length - "MD024": { // no-duplicate-heading Multiple headings with the same content - "siblings_only": true - }, - "MD033": false, // no inline HTML -} diff --git a/samples/aspnetapp/README.md b/samples/aspnetapp/README.md index bec7acb736..2b3ea8b8f7 100644 --- a/samples/aspnetapp/README.md +++ b/samples/aspnetapp/README.md @@ -81,7 +81,7 @@ You may notice that the sample includes a [health check](https://learn.microsoft ## Build image with the SDK -The easiest way to [build images is with the SDK](https://github.com/dotnet/sdk-container-builds). +The easiest way to [build images is with the SDK](https://github.com/dotnet/sdk-container-builds). ```console dotnet publish /p:PublishProfile=DefaultContainer diff --git a/samples/releasesapi/README.md b/samples/releasesapi/README.md index 0ab6896a52..c6ec161ea7 100644 --- a/samples/releasesapi/README.md +++ b/samples/releasesapi/README.md @@ -1,6 +1,6 @@ # Release Json Report API -This app demonstrates publishing an app as [native AOT](https://learn.microsoft.com/dotnet/core/deploying/native-aot/) in containers. +This app demonstrates publishing an app as [native AOT](https://learn.microsoft.com/dotnet/core/deploying/native-aot/) in containers. > [!NOTE] > The base images used by this sample are in preview. @@ -23,7 +23,7 @@ It exposes two endpoints: ## App -The app is intended as a sort of compliance report for .NET. The report includes supported major releases and those recently out of support. It includes the latest and latest security patch versions for each of those major releases. +The app is intended as a sort of compliance report for .NET. The report includes supported major releases and those recently out of support. It includes the latest and latest security patch versions for each of those major releases. This same information is available from the [release JSON](https://github.com/dotnet/core/blob/main/release-notes/releases-index.json) files that the team maintains, but that requires a bit of code to provide the same report. From cda2660e9760e16980456bbb552a16a6308dd019 Mon Sep 17 00:00:00 2001 From: Ella Hathaway <67609881+ellahathaway@users.noreply.github.com> Date: Mon, 19 Aug 2024 13:37:57 -0700 Subject: [PATCH 6/9] Only skip SDK content tests on CBL-Mariner + .NET 6.0 (#5814) --- tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs index 6741dbba84..abf2afa0c2 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs @@ -168,9 +168,9 @@ public void VerifyPowerShellScenario_NonDefaultUser(ProductImageData imageData) [MemberData(nameof(GetImageData))] public async Task VerifyDotnetFolderContents(ProductImageData imageData) { - // Skip test on CBL-Mariner. Since installation is done via RPM package, we just need to verify the package installation + // Skip test on CBL-Mariner with .NET 6.0. Since installation is done via RPM package, we just need to verify the package installation // was done (handled by VerifyPackageInstallation test). There's no need to check the actual contents of the package. - if (imageData.OS.StartsWith(OS.Mariner) || imageData.OS.StartsWith(OS.AzureLinux)) + if (imageData.OS.StartsWith(OS.Mariner) && imageData.Version.Major == 6) { return; } From 8225c9904a12eff92242bf44f071b003846bab59 Mon Sep 17 00:00:00 2001 From: Michael Simons Date: Wed, 21 Aug 2024 13:10:02 -0500 Subject: [PATCH 7/9] Update linter to validate all code (#5820) --- .github/ISSUE_TEMPLATE/bug-report.md | 1 + .github/ISSUE_TEMPLATE/feature-request.md | 1 + .github/ISSUE_TEMPLATE/new-windows-release.md | 4 - .../releases/dotnet-release-lifecycle.md | 108 +++++++++--------- .github/workflows/lint-code-base.yml | 3 +- 5 files changed, 60 insertions(+), 57 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index a7d331315e..cdfe88b91f 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -2,6 +2,7 @@ name: 🐞 Bug report about: Create a report about something that is not working labels: 'bug,untriaged' +title: --- *Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/{{REPO}}/tags/list) for all supported and unsupported tags.* ^elif ARGS["readme-host"] = "dockerhub": -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/{{REPO}}/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/{{if isNightlyRepo:nightly^else:main}}/README.{{SHORT_REPO}}.md#full-tag-listing). +View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/{{REPO}}/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/{{if isNightlyRepo:nightly^else:main}}/README.{{readmeRepoName}}.md#full-tag-listing). }}}} {{InsertTemplate("Support.md", commonArgs)}} diff --git a/eng/readme-templates/Use.runtime-deps.md b/eng/readme-templates/Use.runtime-deps.md index 9455ed1cf5..6226b8c23d 100644 --- a/eng/readme-templates/Use.runtime-deps.md +++ b/eng/readme-templates/Use.runtime-deps.md @@ -2,4 +2,4 @@ _ ARGS: top-header: The string to use as the top-level header. readme-host: Moniker of the site that will host the readme -}}* [.NET self-contained Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile.debian-x64-slim) builds and runs an application as a self-contained application. +}}* [.NET self-contained Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile.debian) builds and runs an application as a self-contained application. diff --git a/samples/README.md b/samples/README.md index bf5b879881..75f6edddd6 100644 --- a/samples/README.md +++ b/samples/README.md @@ -61,5 +61,5 @@ docker run --rm -it -p 8000:8080 mcr.microsoft.com/dotnet/samples:aspnetapp You can find .NET container images at the following Docker repositories: -* [dotnet](https://hub.docker.com/_/microsoft-dotnet/): .NET -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework +* [dotnet](https://hub.docker.com/r/microsoft/dotnet/): .NET +* [dotnet/framework](https://hub.docker.com/r/microsoft/dotnet-framework/): .NET Framework diff --git a/samples/build-for-a-platform.md b/samples/build-for-a-platform.md index 2eb4619616..eba51817f0 100644 --- a/samples/build-for-a-platform.md +++ b/samples/build-for-a-platform.md @@ -62,8 +62,8 @@ Another approach is to always build for one platform with Dockerfiles that refer The following are examples of this model: -- [Dockerfile.debian-x64](aspnetapp/Dockerfile.debian-x64) -- [Dockerfile.alpine-arm64](aspnetapp/Dockerfile.alpine-arm64) +- [Dockerfile.debian](aspnetapp/Dockerfile.debian) +- [Dockerfile.alpine](aspnetapp/Dockerfile.alpine) They can be built with the following pattern: @@ -77,7 +77,7 @@ This pattern results in, for example, x64 images always being used. Those images The `--platform` argument is the best way to specify the desired architecture. The `--platform` argument doesn't switch Docker to a special mode, but specifies the platform to request for multi-platform tags. Single-architecture tags are unaffected by this argument. That approach enables users to lock some tags to a platform, if desired, and to enable other tags to be affected by the platform switch. -In addition, Docker [Buildkit exposes multiple environment variables](https://github.com/dotnet/dotnet-docker/pull/4387#issuecomment-1416565213) that can be used to further conditionalize behavior. These environment variables can be controlled with the pattern demonstrated in [Dockerfile](https://github.com/mthalman/dredge/blob/main/src/Valleysoft.Dredge/Dockerfile). As mentioned, .NET doesn't support being run in emulation. The pattern in that Dockerfile results in the SDK always being run natively while the final image is affected by the `--platform` switch. This model also has the best performance since the bulk of computation is run natively. +In addition, Docker [Buildkit exposes multiple environment variables](https://docs.docker.com/reference/dockerfile/#automatic-platform-args-in-the-global-scope) that can be used to further conditionalize behavior. These environment variables can be controlled with the pattern demonstrated in [Dockerfile](https://github.com/mthalman/dredge/blob/main/src/Dockerfile). As mentioned, .NET doesn't support being run in emulation. The pattern in that Dockerfile results in the SDK always being run natively while the final image is affected by the `--platform` switch. This model also has the best performance since the bulk of computation is run natively. > [!NOTE] > We are enabling this [model](https://github.com/dotnet/dotnet-docker/issues/4388#issuecomment-1421401384) in a future release. diff --git a/samples/build-in-sdk-container.md b/samples/build-in-sdk-container.md index a34a0ac21f..efccc2cc2f 100644 --- a/samples/build-in-sdk-container.md +++ b/samples/build-in-sdk-container.md @@ -1,6 +1,6 @@ # Build in a .NET SDK container -You can use Docker to run your build in an isolated environment using the [.NET SDK Docker image](https://hub.docker.com/_/microsoft-dotnet-sdk/). This is useful to either avoid the need to install .NET on the build machine or ensure that your environment is correctly configured (dev, staging, or production). +You can use Docker to run your build in an isolated environment using the [.NET SDK Docker image](https://hub.docker.com/r/microsoft/dotnet-sdk/). This is useful to either avoid the need to install .NET on the build machine or ensure that your environment is correctly configured (dev, staging, or production). The instructions assume that you have cloned the repository locally, and that you are in the `samples/dotnetapp` directory (due to the volume mounting syntax), as demonstrated by the examples. diff --git a/samples/complexapp/Dockerfile b/samples/complexapp/Dockerfile index 66ac3dc4f0..457ced409f 100644 --- a/samples/complexapp/Dockerfile +++ b/samples/complexapp/Dockerfile @@ -1,4 +1,4 @@ -# https://hub.docker.com/_/microsoft-dotnet +# https://hub.docker.com/r/microsoft/dotnet FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source diff --git a/samples/run-tests-in-sdk-container.md b/samples/run-tests-in-sdk-container.md index bbdff9731a..72fa92f271 100644 --- a/samples/run-tests-in-sdk-container.md +++ b/samples/run-tests-in-sdk-container.md @@ -1,6 +1,6 @@ # Running Tests with Docker -You can use Docker to run your unit tests in an isolated environment using the [.NET SDK Docker image](https://hub.docker.com/_/microsoft-dotnet-sdk/). This is useful if your development and production environments don't match, like, for example, Windows and Linux, respectively. There are multiple ways to run unit tests in containers, which are demonstrated in this document. +You can use Docker to run your unit tests in an isolated environment using the [.NET SDK Docker image](https://hub.docker.com/r/microsoft/dotnet-sdk/). This is useful if your development and production environments don't match, like, for example, Windows and Linux, respectively. There are multiple ways to run unit tests in containers, which are demonstrated in this document. [Building in an SDK container](build-in-sdk-container.md) is a similar scenario and relies on similar patterns. [Building and testing multiple projects with Docker](complexapp/README.md) sample offers additional test patterns that you may want to adopt. diff --git a/samples/selecting-tags.md b/samples/selecting-tags.md index c0acc1d42a..eb42153e24 100644 --- a/samples/selecting-tags.md +++ b/samples/selecting-tags.md @@ -6,17 +6,17 @@ You can use the referenced images and tags with the docker CLI, for example with ## .NET Docker repos -There are multiple [.NET Docker repos](https://hub.docker.com/_/microsoft-dotnet) that expose various layers of the .NET platform. +There are multiple [.NET Docker repos](https://hub.docker.com/r/microsoft/dotnet) that expose various layers of the .NET platform. -* [dotnet/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-runtime-deps/) -- Linux-only images that contains the native dependencies of .NET. Best used for self-contained applications. -* [dotnet/runtime](https://hub.docker.com/_/microsoft-dotnet-runtime/) -- Images that contains the .NET runtime. Best used for console applications. On Linux, depends on the `runtime-deps` image. -* [dotnet/aspnet](https://hub.docker.com/_/microsoft-dotnet-aspnet/) -- Images that contains the ASP.NET Core runtime. Best used for web applications and services. Depends on the `runtime` image. -* [dotnet/sdk](https://hub.docker.com/_/microsoft-dotnet-sdk/) -- An image that contains the .NET SDK (which includes tools and all runtimes). Best used for building and testing applications. Depends on [buildpack-deps](https://hub.docker.com/_/buildpack-deps) for Debian and Ubuntu, on [dotnet/aspnet](https://hub.docker.com/_/microsoft-dotnet-aspnet/) for Alpine and on [windows/nanoserver](https://hub.docker.com/_/microsoft-windows-nanoserver) for Windows. +* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/) -- Linux-only images that contains the native dependencies of .NET. Best used for self-contained applications. +* [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/) -- Images that contains the .NET runtime. Best used for console applications. On Linux, depends on the `runtime-deps` image. +* [dotnet/aspnet](https://hub.docker.com/r/microsoft/dotnet-aspnet/) -- Images that contains the ASP.NET Core runtime. Best used for web applications and services. Depends on the `runtime` image. +* [dotnet/sdk](https://hub.docker.com/r/microsoft/dotnet-sdk/) -- An image that contains the .NET SDK (which includes tools and all runtimes). Best used for building and testing applications. Depends on [buildpack-deps](https://hub.docker.com/_/buildpack-deps) for Debian and Ubuntu, on [dotnet/aspnet](https://hub.docker.com/r/microsoft/dotnet-aspnet/) for Alpine and on [windows/nanoserver](https://hub.docker.com/r/microsoft/windows-nanoserver) for Windows. The repos above are commonly used on the command line and in Dockerfiles. There are two more repos that may be useful to you: * [dotnet/nightly](https://github.com/dotnet/dotnet-docker/blob/nightly/README.md) -- A duplicate structure of repos which contain the latest pre-released versions of .NET. (which are not supported in production). -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples) -- A set of samples that demonstrate .NET being used in console and web scenarios. +* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples) -- A set of samples that demonstrate .NET being used in console and web scenarios. ## Tags that work everywhere From 859766ea7a8eef16e71d2c0d21ee5413fcfcd246 Mon Sep 17 00:00:00 2001 From: Michael Simons Date: Thu, 22 Aug 2024 16:50:46 -0500 Subject: [PATCH 9/9] Clean-up lingering .portal-docs --- .portal-docs/README.aspire-dashboard.md | 145 ------------------ .../README.aspire-dashboard.portal.md | 141 ----------------- .portal-docs/README.aspnet.md | 111 -------------- .portal-docs/README.aspnet.portal.md | 107 ------------- .portal-docs/README.monitor-base.md | 89 ----------- .portal-docs/README.monitor-base.portal.md | 85 ---------- .portal-docs/README.monitor.md | 90 ----------- .portal-docs/README.monitor.portal.md | 86 ----------- .portal-docs/README.runtime-deps.md | 90 ----------- .portal-docs/README.runtime-deps.portal.md | 86 ----------- .portal-docs/README.runtime.md | 100 ------------ .portal-docs/README.runtime.portal.md | 96 ------------ .portal-docs/README.samples.md | 112 -------------- .portal-docs/README.samples.portal.md | 108 ------------- .portal-docs/README.sdk.md | 102 ------------ .portal-docs/README.sdk.portal.md | 98 ------------ 16 files changed, 1646 deletions(-) delete mode 100644 .portal-docs/README.aspire-dashboard.md delete mode 100644 .portal-docs/README.aspire-dashboard.portal.md delete mode 100644 .portal-docs/README.aspnet.md delete mode 100644 .portal-docs/README.aspnet.portal.md delete mode 100644 .portal-docs/README.monitor-base.md delete mode 100644 .portal-docs/README.monitor-base.portal.md delete mode 100644 .portal-docs/README.monitor.md delete mode 100644 .portal-docs/README.monitor.portal.md delete mode 100644 .portal-docs/README.runtime-deps.md delete mode 100644 .portal-docs/README.runtime-deps.portal.md delete mode 100644 .portal-docs/README.runtime.md delete mode 100644 .portal-docs/README.runtime.portal.md delete mode 100644 .portal-docs/README.samples.md delete mode 100644 .portal-docs/README.samples.portal.md delete mode 100644 .portal-docs/README.sdk.md delete mode 100644 .portal-docs/README.sdk.portal.md diff --git a/.portal-docs/README.aspire-dashboard.md b/.portal-docs/README.aspire-dashboard.md deleted file mode 100644 index 49aafc5254..0000000000 --- a/.portal-docs/README.aspire-dashboard.md +++ /dev/null @@ -1,145 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-aspire-dashboard/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `8.0` - * `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.0` - -# About - -This image contains the .NET Aspire Dashboard. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -# Usage - -The .NET Aspire Dashboard is a browser-based app to view run-time information about your distributed application. - -The dashboard shows: - -- Resources that make up your app, such as .NET projects, executables and containers. -- Live console logs of resources. -- Live telemetry, such as structured logs, traces and metrics. - -## Configuration - -The dashboard must be configured when it is started. The configuration is done via environment variables. The following environment variables are supported: - -- `ASPNETCORE_URLS` specifies one or more HTTP endpoints through which the dashboard frontend is served. The frontend endpoint is used to view the dashboard in a browser. Defaults to http://localhost:18888. -- `DOTNET_DASHBOARD_OTLP_ENDPOINT_URL` specifies the OTLP endpoint. OTLP endpoint hosts an OTLP service and recevies telemetry. Defaults to http://localhost:18889. -- `DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS` specifies the dashboard doesn't use authentication and accepts anonymous access. This setting is a shortcut to configuring `Dashboard:Frontend:AuthMode` and `Dashboard:Otlp:AuthMode` to `Unsecured`. -- `DOTNET_DASHBOARD_CONFIG_FILE_PATH` specifies the path for an optional JSON configuration file. - -### Frontend authentication - -The dashboard's frontend supports OpenID Connect (OIDC). Set `Dashboard__Frontend__AuthMode` to `OpenIdConnect`, then add the following configuration: - -- `Authentication__Schemes__OpenIdConnect__Authority` — URL to the identity provider (IdP) -- `Authentication__Schemes__OpenIdConnect__ClientId` — Identity of the relying party (RP) -- `Authentication__Schemes__OpenIdConnect__ClientSecret`— A secret that only the real RP would know -- Other properties of [`OpenIdConnectOptions`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.openidconnectoptions) specified in configuration container `Authentication__Schemes__OpenIdConnect__*` - -It may also be run unsecured. Set `Dashboard__Frontend__AuthMode` to `Unsecured`. The frontend endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -## OTLP authentication - -The OTLP endpoint can be secured with [client certificate](https://learn.microsoft.com/aspnet/core/security/authentication/certauth) or API key authentication. - -For client certification authentication, set `Dashboard__Otlp__AuthMode` to `Certificate`. - -For API key authentication, set `Dashboard__Otlp__AuthMode` to `ApiKey`, then add the following configuration: - -- `Dashboard__Otlp__PrimaryApiKey` specifies the primary API key. (required, string) -- `Dashboard__Otlp__SecondaryApiKey` specifies the secondary API key. (optional, string) - -It may also be run unsecured. Set `Dashboard__Otlp__AuthMode` to `Unsecured`. The OTLP endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -## Resources - -- `Dashboard__ResourceServiceClient__Url` specifies the gRPC endpoint to which the dashboard connects for its data. There's no default. If this variable is unspecified, the dashboard shows OTEL data but no resource list or console logs. - -The resource service client supports certificates. Set `Dashboard__ResourceServiceClient__AuthMode` to `Certificate`, then add the following configuration: - -- `Dashboard__ResourceServiceClient__ClientCertificate__Source` (required) one of: - - `File` to load the cert from a file path, configured with: - - `Dashboard__ResourceServiceClient__ClientCertificate__FilePath` (required, string) - - `Dashboard__ResourceServiceClient__ClientCertificate__Password` (optional, string) - - `KeyStore` to load the cert from a key store, configured with: - - `Dashboard__ResourceServiceClient__ClientCertificate__Subject` (required, string) - - `Dashboard__ResourceServiceClient__ClientCertificate__Store` (optional, [`StoreName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storename), defaults to `My`) - - `Dashboard__ResourceServiceClient__ClientCertificate__Location` (optional, [`StoreLocation`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storelocation), defaults to `CurrentUser`) - -To opt-out of authentication, set `Dashboard__ResourceServiceClient__AuthMode` to `Unsecured`. This completely disables all security for the resource service client. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -### Telemetry Limits - -Telemetry is stored in-memory. To avoid excessive memory usage, the dashboard has limits on the count and size of stored telemetry. When a count limit is reached, new telemetry is added, and the oldest telemetry is removed. When a size limit is reached, data is truncated to the limit. - -- `Dashboard__TelemetryLimits__MaxLogCount` specifies the maximum number of log entries. Defaults to 10,000. -- `Dashboard__TelemetryLimits__MaxTraceCount` specifies the maximum number of traces. Defaults to 10,000. -- `Dashboard__TelemetryLimits__MaxMetricsCount` specifies the maximum number of metric data points. Defaults to 50,000. -- `Dashboard__TelemetryLimits__MaxAttributeCount` specifies the maximum number of attributes on telemetry. Defaults to 128. -- `Dashboard__TelemetryLimits__MaxAttributeLength` specifies the maximum length of attributes. Defaults to unlimited. -- `Dashboard__TelemetryLimits__MaxSpanEventCount` specifies the maximum number of events on span attributes. Defaults to unlimited. - -Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures the dashboard to store up to 10,000 log entries per-resource. - -## Other - -- `Dashboard__ApplicationName` specifies the application name to be displayed in the UI. This applies only when no resource service URL is specified. When a resource service exists, the service specifies the application name. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.aspire-dashboard.portal.md b/.portal-docs/README.aspire-dashboard.portal.md deleted file mode 100644 index c39f89225b..0000000000 --- a/.portal-docs/README.aspire-dashboard.portal.md +++ /dev/null @@ -1,141 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/aspire-dashboard/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the .NET Aspire Dashboard. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## Featured Tags - -* `8.0` - * `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.0` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The .NET Aspire Dashboard is a browser-based app to view run-time information about your distributed application. - -The dashboard shows: - -- Resources that make up your app, such as .NET projects, executables and containers. -- Live console logs of resources. -- Live telemetry, such as structured logs, traces and metrics. - -### Configuration - -The dashboard must be configured when it is started. The configuration is done via environment variables. The following environment variables are supported: - -- `ASPNETCORE_URLS` specifies one or more HTTP endpoints through which the dashboard frontend is served. The frontend endpoint is used to view the dashboard in a browser. Defaults to http://localhost:18888. -- `DOTNET_DASHBOARD_OTLP_ENDPOINT_URL` specifies the OTLP endpoint. OTLP endpoint hosts an OTLP service and recevies telemetry. Defaults to http://localhost:18889. -- `DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS` specifies the dashboard doesn't use authentication and accepts anonymous access. This setting is a shortcut to configuring `Dashboard:Frontend:AuthMode` and `Dashboard:Otlp:AuthMode` to `Unsecured`. -- `DOTNET_DASHBOARD_CONFIG_FILE_PATH` specifies the path for an optional JSON configuration file. - -#### Frontend authentication - -The dashboard's frontend supports OpenID Connect (OIDC). Set `Dashboard__Frontend__AuthMode` to `OpenIdConnect`, then add the following configuration: - -- `Authentication__Schemes__OpenIdConnect__Authority` — URL to the identity provider (IdP) -- `Authentication__Schemes__OpenIdConnect__ClientId` — Identity of the relying party (RP) -- `Authentication__Schemes__OpenIdConnect__ClientSecret`— A secret that only the real RP would know -- Other properties of [`OpenIdConnectOptions`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.openidconnectoptions) specified in configuration container `Authentication__Schemes__OpenIdConnect__*` - -It may also be run unsecured. Set `Dashboard__Frontend__AuthMode` to `Unsecured`. The frontend endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -### OTLP authentication - -The OTLP endpoint can be secured with [client certificate](https://learn.microsoft.com/aspnet/core/security/authentication/certauth) or API key authentication. - -For client certification authentication, set `Dashboard__Otlp__AuthMode` to `Certificate`. - -For API key authentication, set `Dashboard__Otlp__AuthMode` to `ApiKey`, then add the following configuration: - -- `Dashboard__Otlp__PrimaryApiKey` specifies the primary API key. (required, string) -- `Dashboard__Otlp__SecondaryApiKey` specifies the secondary API key. (optional, string) - -It may also be run unsecured. Set `Dashboard__Otlp__AuthMode` to `Unsecured`. The OTLP endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -### Resources - -- `Dashboard__ResourceServiceClient__Url` specifies the gRPC endpoint to which the dashboard connects for its data. There's no default. If this variable is unspecified, the dashboard shows OTEL data but no resource list or console logs. - -The resource service client supports certificates. Set `Dashboard__ResourceServiceClient__AuthMode` to `Certificate`, then add the following configuration: - -- `Dashboard__ResourceServiceClient__ClientCertificate__Source` (required) one of: - - `File` to load the cert from a file path, configured with: - - `Dashboard__ResourceServiceClient__ClientCertificate__FilePath` (required, string) - - `Dashboard__ResourceServiceClient__ClientCertificate__Password` (optional, string) - - `KeyStore` to load the cert from a key store, configured with: - - `Dashboard__ResourceServiceClient__ClientCertificate__Subject` (required, string) - - `Dashboard__ResourceServiceClient__ClientCertificate__Store` (optional, [`StoreName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storename), defaults to `My`) - - `Dashboard__ResourceServiceClient__ClientCertificate__Location` (optional, [`StoreLocation`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storelocation), defaults to `CurrentUser`) - -To opt-out of authentication, set `Dashboard__ResourceServiceClient__AuthMode` to `Unsecured`. This completely disables all security for the resource service client. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -#### Telemetry Limits - -Telemetry is stored in-memory. To avoid excessive memory usage, the dashboard has limits on the count and size of stored telemetry. When a count limit is reached, new telemetry is added, and the oldest telemetry is removed. When a size limit is reached, data is truncated to the limit. - -- `Dashboard__TelemetryLimits__MaxLogCount` specifies the maximum number of log entries. Defaults to 10,000. -- `Dashboard__TelemetryLimits__MaxTraceCount` specifies the maximum number of traces. Defaults to 10,000. -- `Dashboard__TelemetryLimits__MaxMetricsCount` specifies the maximum number of metric data points. Defaults to 50,000. -- `Dashboard__TelemetryLimits__MaxAttributeCount` specifies the maximum number of attributes on telemetry. Defaults to 128. -- `Dashboard__TelemetryLimits__MaxAttributeLength` specifies the maximum length of attributes. Defaults to unlimited. -- `Dashboard__TelemetryLimits__MaxSpanEventCount` specifies the maximum number of events on span attributes. Defaults to unlimited. - -Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures the dashboard to store up to 10,000 log entries per-resource. - -### Other - -- `Dashboard__ApplicationName` specifies the application name to be displayed in the UI. This applies only when no resource service URL is specified. When a resource service exists, the service specifies the application name. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.aspnet.md b/.portal-docs/README.aspnet.md deleted file mode 100644 index 8881b42230..0000000000 --- a/.portal-docs/README.aspnet.md +++ /dev/null @@ -1,111 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-aspnet/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:6.0` - -# About - -This image contains the ASP.NET Core and .NET runtimes and libraries and is optimized for running ASP.NET Core apps in production. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## ASP.NET Core Composite Images - -Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run). -For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80). - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Container sample: Run a web application - -You can quickly run a container with a pre-built [.NET Docker image](https://hub.docker.com/_/microsoft-dotnet-samples/), based on the [ASP.NET Core sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md). - -Type the following command to run a sample web application: - -```console -docker run -it --rm -p 8000:8080 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp -``` - -After the application starts, navigate to `http://localhost:8000` in your web browser. You can also view the ASP.NET Core site running in the container from another machine with a local IP address such as `http://192.168.1.18:8000`. - -> Note: ASP.NET Core apps (in official images) listen to [port 8080 by default](https://github.com/dotnet/dotnet-docker/blob/6da64f31944bb16ecde5495b6a53fc170fbe100d/src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile#L7), starting with .NET 8. The [`-p` argument](https://docs.docker.com/engine/reference/commandline/run/#publish) in these examples maps host port `8000` to container port `8080` (`host:container` mapping). The container will not be accessible without this mapping. ASP.NET Core can be [configured to listen on a different or additional port](https://learn.microsoft.com/aspnet/core/fundamentals/servers/kestrel/endpoints). - -See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotnet/dotnet-docker/blob/main/samples/host-aspnetcore-https.md) to use HTTPS with this image. - -# Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspnet.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.aspnet.portal.md b/.portal-docs/README.aspnet.portal.md deleted file mode 100644 index afb34b635d..0000000000 --- a/.portal-docs/README.aspnet.portal.md +++ /dev/null @@ -1,107 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/aspnet/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the ASP.NET Core and .NET runtimes and libraries and is optimized for running ASP.NET Core apps in production. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -### ASP.NET Core Composite Images - -Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run). -For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80). - -## Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/aspnet:6.0` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Container sample: Run a web application - -You can quickly run a container with a pre-built [.NET Docker image](https://mcr.microsoft.com/product/dotnet/samples/about), based on the [ASP.NET Core sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md). - -Type the following command to run a sample web application: - -```console -docker run -it --rm -p 8000:8080 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp -``` - -After the application starts, navigate to `http://localhost:8000` in your web browser. You can also view the ASP.NET Core site running in the container from another machine with a local IP address such as `http://192.168.1.18:8000`. - -> Note: ASP.NET Core apps (in official images) listen to [port 8080 by default](https://github.com/dotnet/dotnet-docker/blob/6da64f31944bb16ecde5495b6a53fc170fbe100d/src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile#L7), starting with .NET 8. The [`-p` argument](https://docs.docker.com/engine/reference/commandline/run/#publish) in these examples maps host port `8000` to container port `8080` (`host:container` mapping). The container will not be accessible without this mapping. ASP.NET Core can be [configured to listen on a different or additional port](https://learn.microsoft.com/aspnet/core/fundamentals/servers/kestrel/endpoints). - -See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotnet/dotnet-docker/blob/main/samples/host-aspnetcore-https.md) to use HTTPS with this image. - -## Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.monitor-base.md b/.portal-docs/README.monitor-base.md deleted file mode 100644 index 9bf2e1dbf0..0000000000 --- a/.portal-docs/README.monitor-base.md +++ /dev/null @@ -1,89 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-monitor-base/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `8` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor/base:8` - -# About - -This image contains the .NET Monitor Base installation. - -Use this image as a base image for building a .NET Monitor image with extensions. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Building a Custom .NET Monitor Image - -The following Dockerfiles demonstrate how you can use this base image to build a .NET Monitor image with a custom set of extensions. - -* [Ubuntu Chiseled - amd64](https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile) -* [Ubuntu Chiseled - arm64v8](https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile) - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/monitor/base/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.base.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.monitor-base.portal.md b/.portal-docs/README.monitor-base.portal.md deleted file mode 100644 index 7f3b29a9e0..0000000000 --- a/.portal-docs/README.monitor-base.portal.md +++ /dev/null @@ -1,85 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/monitor/base/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the .NET Monitor Base installation. - -Use this image as a base image for building a .NET Monitor image with extensions. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## Featured Tags - -* `8` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor/base:8` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Building a Custom .NET Monitor Image - -The following Dockerfiles demonstrate how you can use this base image to build a .NET Monitor image with a custom set of extensions. - -* [Ubuntu Chiseled - amd64](https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile) -* [Ubuntu Chiseled - arm64v8](https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile) - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.monitor.md b/.portal-docs/README.monitor.md deleted file mode 100644 index dc7ab03c8f..0000000000 --- a/.portal-docs/README.monitor.md +++ /dev/null @@ -1,90 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-monitor/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `8` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor:8` -* `6` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor:6` - -# About - -This image contains the .NET Monitor tool. - -Use this image as a sidecar container to collect diagnostic information from other containers running .NET Core 3.1 or later processes. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Container sample: Run the tool - -You can run a container with a pre-built [.NET Docker Image](https://hub.docker.com/_/microsoft-dotnet-monitor/), based on the dotnet-monitor global tool. - -See the [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to configure the image to be run in a Docker or Kubernetes environment, including how to configure authentication and certificates for https bindings. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor/base](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor-base/): .NET Monitor Base (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/monitor/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.monitor.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.monitor.portal.md b/.portal-docs/README.monitor.portal.md deleted file mode 100644 index f33d50ec09..0000000000 --- a/.portal-docs/README.monitor.portal.md +++ /dev/null @@ -1,86 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/monitor/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the .NET Monitor tool. - -Use this image as a sidecar container to collect diagnostic information from other containers running .NET Core 3.1 or later processes. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## Featured Tags - -* `8` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor:8` -* `6` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/monitor:6` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor/base](https://mcr.microsoft.com/product/dotnet/nightly/monitor/base/about): .NET Monitor Base (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Container sample: Run the tool - -You can run a container with a pre-built [.NET Docker Image](https://mcr.microsoft.com/product/dotnet/monitor/about), based on the dotnet-monitor global tool. - -See the [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to configure the image to be run in a Docker or Kubernetes environment, including how to configure authentication and certificates for https bindings. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.runtime-deps.md b/.portal-docs/README.runtime-deps.md deleted file mode 100644 index 20e4c94a00..0000000000 --- a/.portal-docs/README.runtime-deps.md +++ /dev/null @@ -1,90 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-runtime-deps/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:6.0` - -# About - -This image contains the native dependencies needed by .NET. It does not include .NET. It is for [self-contained](https://docs.microsoft.com/dotnet/articles/core/deploying/index) applications. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -* [.NET self-contained Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile.debian-x64-slim) builds and runs an application as a self-contained application. - -# Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime-deps.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.runtime-deps.portal.md b/.portal-docs/README.runtime-deps.portal.md deleted file mode 100644 index 1d1414c163..0000000000 --- a/.portal-docs/README.runtime-deps.portal.md +++ /dev/null @@ -1,86 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/runtime-deps/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the native dependencies needed by .NET. It does not include .NET. It is for [self-contained](https://docs.microsoft.com/dotnet/articles/core/deploying/index) applications. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime-deps:6.0` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -* [.NET self-contained Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile.debian-x64-slim) builds and runs an application as a self-contained application. - -## Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/README.runtime.md b/.portal-docs/README.runtime.md deleted file mode 100644 index 86053b12e0..0000000000 --- a/.portal-docs/README.runtime.md +++ /dev/null @@ -1,100 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-runtime/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:6.0` - -# About - -This image contains the .NET runtimes and libraries and is optimized for running .NET apps in production. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Container sample: Run a simple application - -You can quickly run a container with a pre-built [.NET Docker image](https://hub.docker.com/_/microsoft-dotnet-samples/), based on the [.NET console sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md). - -Type the following command to run a sample console application: - -```console -docker run --rm mcr.microsoft.com/dotnet/samples -``` - -# Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/sdk](https://hub.docker.com/_/microsoft-dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/runtime/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.runtime.portal.md b/.portal-docs/README.runtime.portal.md deleted file mode 100644 index 3fe36619f3..0000000000 --- a/.portal-docs/README.runtime.portal.md +++ /dev/null @@ -1,96 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/runtime/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the .NET runtimes and libraries and is optimized for running .NET apps in production. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/runtime:6.0` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/sdk](https://mcr.microsoft.com/product/dotnet/nightly/sdk/about): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Container sample: Run a simple application - -You can quickly run a container with a pre-built [.NET Docker image](https://mcr.microsoft.com/product/dotnet/samples/about), based on the [.NET console sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md). - -Type the following command to run a sample console application: - -```console -docker run --rm mcr.microsoft.com/dotnet/samples -``` - -## Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.samples.md b/.portal-docs/README.samples.md deleted file mode 100644 index ce7802a89b..0000000000 --- a/.portal-docs/README.samples.md +++ /dev/null @@ -1,112 +0,0 @@ -# Featured Tags - -* `dotnetapp` [(*Dockerfile*)](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile) - * `docker pull mcr.microsoft.com/dotnet/samples:dotnetapp` - * `docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-chiseled` -* `aspnetapp` [(*Dockerfile*)](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile) - * `docker pull mcr.microsoft.com/dotnet/samples:aspnetapp` - * `docker pull mcr.microsoft.com/dotnet/samples:aspnetapp-chiseled` - -# About - -These images contain sample .NET and ASP.NET Core applications. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Container sample: Run a simple application - -You can quickly run a container with a pre-built [.NET Docker image](https://hub.docker.com/_/microsoft-dotnet-samples/), based on the [.NET console sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md). - -Type the following command to run a sample console application: - -```console -docker run --rm mcr.microsoft.com/dotnet/samples -``` - -## Container sample: Run a web application - -You can quickly run a container with a pre-built [.NET Docker image](https://hub.docker.com/_/microsoft-dotnet-samples/), based on the [ASP.NET Core sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md). - -Type the following command to run a sample web application: - -```console -docker run -it --rm -p 8000:8080 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp -``` - -After the application starts, navigate to `http://localhost:8000` in your web browser. You can also view the ASP.NET Core site running in the container from another machine with a local IP address such as `http://192.168.1.18:8000`. - -> Note: ASP.NET Core apps (in official images) listen to [port 8080 by default](https://github.com/dotnet/dotnet-docker/blob/6da64f31944bb16ecde5495b6a53fc170fbe100d/src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile#L7), starting with .NET 8. The [`-p` argument](https://docs.docker.com/engine/reference/commandline/run/#publish) in these examples maps host port `8000` to container port `8080` (`host:container` mapping). The container will not be accessible without this mapping. ASP.NET Core can be [configured to listen on a different or additional port](https://learn.microsoft.com/aspnet/core/fundamentals/servers/kestrel/endpoints). - -See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotnet/dotnet-docker/blob/main/samples/host-aspnetcore-https.md) to use HTTPS with this image. - -# Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -# Related Repositories - -.NET: - -* [dotnet/sdk](https://hub.docker.com/_/microsoft-dotnet-sdk/): .NET SDK -* [dotnet/aspnet](https://hub.docker.com/_/microsoft-dotnet-aspnet/): ASP.NET Core Runtime -* [dotnet/runtime](https://hub.docker.com/_/microsoft-dotnet-runtime/): .NET Runtime -* [dotnet/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-runtime-deps/): .NET Runtime Dependencies -* [dotnet/monitor](https://hub.docker.com/_/microsoft-dotnet-monitor/): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-aspire-dashboard/): .NET Aspire Dashboard - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/samples/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md#full-tag-listing). - -# Support - -These sample images are not intended for production use and may be subject to breaking changes or removal at any time. They are provided as a starting point for developers to experiment with and learn about .NET in a containerized environment. - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.samples.portal.md b/.portal-docs/README.samples.portal.md deleted file mode 100644 index f2c0cbe591..0000000000 --- a/.portal-docs/README.samples.portal.md +++ /dev/null @@ -1,108 +0,0 @@ -## About - -These images contain sample .NET and ASP.NET Core applications. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -### New: Ubuntu Chiseled Images - -Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed. -These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications. - -Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info. - -## Featured Tags - -* `dotnetapp` [(*Dockerfile*)](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile) - * `docker pull mcr.microsoft.com/dotnet/samples:dotnetapp` - * `docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-chiseled` -* `aspnetapp` [(*Dockerfile*)](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile) - * `docker pull mcr.microsoft.com/dotnet/samples:aspnetapp` - * `docker pull mcr.microsoft.com/dotnet/samples:aspnetapp-chiseled` - -## Related Repositories - -.NET: - -* [dotnet/sdk](https://mcr.microsoft.com/product/dotnet/sdk/about): .NET SDK -* [dotnet/aspnet](https://mcr.microsoft.com/product/dotnet/aspnet/about): ASP.NET Core Runtime -* [dotnet/runtime](https://mcr.microsoft.com/product/dotnet/runtime/about): .NET Runtime -* [dotnet/runtime-deps](https://mcr.microsoft.com/product/dotnet/runtime-deps/about): .NET Runtime Dependencies -* [dotnet/monitor](https://mcr.microsoft.com/product/dotnet/monitor/about): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/aspire-dashboard/about): .NET Aspire Dashboard - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Container sample: Run a simple application - -You can quickly run a container with a pre-built [.NET Docker image](https://mcr.microsoft.com/product/dotnet/samples/about), based on the [.NET console sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md). - -Type the following command to run a sample console application: - -```console -docker run --rm mcr.microsoft.com/dotnet/samples -``` - -### Container sample: Run a web application - -You can quickly run a container with a pre-built [.NET Docker image](https://mcr.microsoft.com/product/dotnet/samples/about), based on the [ASP.NET Core sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md). - -Type the following command to run a sample web application: - -```console -docker run -it --rm -p 8000:8080 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp -``` - -After the application starts, navigate to `http://localhost:8000` in your web browser. You can also view the ASP.NET Core site running in the container from another machine with a local IP address such as `http://192.168.1.18:8000`. - -> Note: ASP.NET Core apps (in official images) listen to [port 8080 by default](https://github.com/dotnet/dotnet-docker/blob/6da64f31944bb16ecde5495b6a53fc170fbe100d/src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile#L7), starting with .NET 8. The [`-p` argument](https://docs.docker.com/engine/reference/commandline/run/#publish) in these examples maps host port `8000` to container port `8080` (`host:container` mapping). The container will not be accessible without this mapping. ASP.NET Core can be [configured to listen on a different or additional port](https://learn.microsoft.com/aspnet/core/fundamentals/servers/kestrel/endpoints). - -See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotnet/dotnet-docker/blob/main/samples/host-aspnetcore-https.md) to use HTTPS with this image. - -## Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -## Support - -These sample images are not intended for production use and may be subject to breaking changes or removal at any time. They are provided as a starting point for developers to experiment with and learn about .NET in a containerized environment. - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.sdk.md b/.portal-docs/README.sdk.md deleted file mode 100644 index d68b7f1b11..0000000000 --- a/.portal-docs/README.sdk.md +++ /dev/null @@ -1,102 +0,0 @@ -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://hub.docker.com/_/microsoft-dotnet-sdk/) for images with official releases of [.NET](https://github.com/dotnet/core).** - -# Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:6.0` - -# About - -This image contains the .NET SDK which is comprised of three parts: - -1. .NET CLI -1. .NET runtime -1. ASP.NET Core - -Use this image for your development process (developing, building and testing applications). - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -# Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -## Building .NET Apps with Docker - -* [.NET Docker Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile) builds, tests, and runs the sample. It includes and builds multiple projects. -* [ASP.NET Core Docker Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile) demonstrates using Docker with an ASP.NET Core Web App. - -## Develop .NET Apps in a Container - -The following samples show how to develop, build and test .NET applications with Docker without the need to install the .NET SDK. - -* [Build .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/build-in-sdk-container.md) -* [Test .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/run-tests-in-sdk-container.md) -* [Run .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/run-in-sdk-container.md) - -# Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -# Related Repositories - -.NET: - -* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples -* [dotnet/nightly/aspnet](https://hub.docker.com/_/microsoft-dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/_/microsoft-dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/_/microsoft-dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/_/microsoft-dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/_/microsoft-dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/product/dotnet/nightly/sdk/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.sdk.md#full-tag-listing). - -# Support - -## Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -## Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/README.sdk.portal.md b/.portal-docs/README.sdk.portal.md deleted file mode 100644 index 314bed8af5..0000000000 --- a/.portal-docs/README.sdk.portal.md +++ /dev/null @@ -1,98 +0,0 @@ -## About - -**IMPORTANT** - -**The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).** - -**See [dotnet](https://mcr.microsoft.com/product/dotnet/sdk/about) for images with official releases of [.NET](https://github.com/dotnet/core).** - -This image contains the .NET SDK which is comprised of three parts: - -1. .NET CLI -1. .NET runtime -1. ASP.NET Core - -Use this image for your development process (developing, building and testing applications). - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -## Featured Tags - -* `9.0-preview` (Preview) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:9.0-preview` -* `8.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:8.0` -* `6.0` (Long-Term Support) - * `docker pull mcr.microsoft.com/dotnet/nightly/sdk:6.0` - -## Related Repositories - -.NET: - -* [dotnet/samples](https://mcr.microsoft.com/product/dotnet/samples/about): .NET Samples -* [dotnet/nightly/aspnet](https://mcr.microsoft.com/product/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://mcr.microsoft.com/product/dotnet/nightly/runtime/about): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/product/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://mcr.microsoft.com/product/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/product/dotnet/nightly/aspire-dashboard/about): .NET Aspire Dashboard (Preview) - -.NET Framework: - -* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://mcr.microsoft.com/product/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples - -## Usage - -The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more. - -### Building .NET Apps with Docker - -* [.NET Docker Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/dotnetapp/Dockerfile) builds, tests, and runs the sample. It includes and builds multiple projects. -* [ASP.NET Core Docker Sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/README.md) - This [sample](https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile) demonstrates using Docker with an ASP.NET Core Web App. - -### Develop .NET Apps in a Container - -The following samples show how to develop, build and test .NET applications with Docker without the need to install the .NET SDK. - -* [Build .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/build-in-sdk-container.md) -* [Test .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/run-tests-in-sdk-container.md) -* [Run .NET Applications with SDK Container](https://github.com/dotnet/dotnet-docker/blob/main/samples/run-in-sdk-container.md) - -## Image Variants - -.NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases. - -## Support - -### Lifecycle - -* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md) -* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md) -* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md) - -### Image Update Policy - -* We update supported .NET images within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* We re-build all .NET images as part of releasing new versions of .NET including new major/minor versions and servicing. -* Distroless images such as Ubuntu Chiseled have no base image, and as such will only be updated with .NET releases and CVE fixes as described below. - -#### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -### Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -## License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) -* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing)