Microsoft.NET.Build.Containers 7.0.408

.NET SDK Containers

This package lets you build container images from your projects with a single command.

Getting Started

To build a container from the SDK, add this package and run the publish command, specifying the DefaultContainer PublishProfile. You can learn more about Publish Profiles in the documentation.

>dotnet add package Microsoft.NET.Build.Containers
>dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer
...
Pushed container '<your app name>:<your app version>' to registry 'docker://'
...

Out of the box, this package will infer a number of properties about the generated container image, including which base image to use, which version of that image to use, and where to push the generated image. You have control over all of these properties, however. You can read more about these customizations here.

Note: This package only supports Web projects (those that use the Microsoft.NET.Sdk.Web SDK) in this version.

No packages depend on Microsoft.NET.Build.Containers.

# Microsoft.NET.Build.Containers 7.0.400 This version brings the following new features and enhancements: * For WebSdk projects (and any project that includes the `Microsoft.NET.Publish.Sdk` SDK), the container tools are included and available by default! This means that you no longer need to set the `EnableSdkContainerSupport` property in your project files or include the `Microsoft.NET.Build.Containers` package in your projects in order to publish containers. For project types that do not include the Publish SDK (like console or webjob projects), you still must add the `Microsoft.NET.Build.Containers` NuGet package as a PackageReference to your project, and publish using the `/t:PublishContainer` target explicitly. * When targeting `net8.0` TargetFrameworks during preview release time frames, the inferred preview image will be more correct. Previously it could get out of sync with the actual image tagging scheme used by the dotnet-docker team. * The layer upload process was massively refactored. This resulted in more performance, more reliability, and better support for more kinds of registries. As part of this, we now try the following upload algorithm for a layer: * Try to upload the whole layer in one compressed payload * If that fails, try to upload in chunks * When uploading chunks, we look for indicators from the registry to choose the chunk size In addition, we fixed some protocol bugs that blocked usage with registries like Harbor. * Several environment variables were added to allow more explicit control over the layer upload process: * SDK_CONTAINER_REGISTRY_PARALLEL_UPLOAD * determines if layers of the generated image can be uploaded in parallel or in series. * defaults to `true` for all registries except AWS ECR * SDK_CONTAINER_DEBUG_REGISTRY_FORCE_CHUNKED_UPLOAD * if set to `true`, we will always try to upload layers in chunks instead of all in one upload. * defaults to `false`. * SDK_CONTAINER_REGISTRY_CHUNKED_UPLOAD_SIZE_BYTES * allows for explicit control over the size of the chunks uploaded when using chunked uploads. * note that by default we prefer atomic uploads, so setting this might not have any impact if your registry supports atomic uploads. * does not have a default, but the default chunk size is 64Kb. * Naming is important, so we've renamed the `ContainerImageName` property to `ContainerRepository`. Repository is the name used for the user-facing image (for example `dotnet/runtime`), and it's used this way in most container documentation, so we've adopted that naming to make it easier to keep the terminology aligned. We still handle `ContainerImageName`, but we now will emit a validation warning during the publish if that property is used. * The default OS for inferred containers is now `linux` instead of `windows`. Windows container usage is much less than Linux container usage, and we should default to the most likely configuration to make the onbaording story for the tooling easier. You can always control this explicitly by publishing for a specific `RuntimeIdentifier` (via the `-r` parameter or the `RuntimeIdentifier` MSBuild property) or setting the `ContainerRuntimeIdentifier` to a valid runtime identifier value. * We added read support for OCI Container manifests. Practically speaking this means that you can now use base images from registries like Quay.io, Artifactory, and Docker Hub that typically send image manifests in this format instead of the older Docker-based format.

.NET 7.0

  • No dependencies.

Version Downloads Last updated
9.0.200-preview.0.24575.35 0 12/10/2024
9.0.102 0 01/14/2025
9.0.101 0 12/03/2024
9.0.100 0 11/12/2024
9.0.100-rc.2.24474.11 0 10/08/2024
9.0.100-rc.1.24452.12 0 09/10/2024
9.0.100-preview.7.24407.12 0 08/13/2024
9.0.100-preview.6.24328.19 0 07/09/2024
9.0.100-preview.5.24307.3 0 06/11/2024
9.0.100-preview.4.24267.43 0 05/21/2024
9.0.100-preview.3.24204.14 2 04/20/2024
9.0.100-preview.2.24157.36 1 04/20/2024
9.0.100-preview.1.24101.1 1 04/19/2024
8.0.405 0 01/14/2025
8.0.404 0 11/12/2024
8.0.403 0 10/08/2024
8.0.402 0 09/24/2024
8.0.401 0 08/15/2024
8.0.400 0 08/13/2024
8.0.308 0 01/14/2025
8.0.307 0 11/12/2024
8.0.306 0 10/08/2024
8.0.304 0 08/13/2024
8.0.303 0 07/09/2024
8.0.302 0 06/11/2024
8.0.301 0 05/28/2024
8.0.300 0 05/14/2024
8.0.206 0 05/28/2024
8.0.205 0 05/14/2024
8.0.204 1 04/19/2024
8.0.202 1 04/20/2024
8.0.200 1 04/18/2024
8.0.112 0 01/14/2025
8.0.111 0 11/12/2024
8.0.110 0 10/08/2024
8.0.108 0 08/13/2024
8.0.107 0 07/09/2024
8.0.106 0 05/28/2024
8.0.105 0 05/14/2024
8.0.104 2 04/18/2024
8.0.103 1 04/20/2024
8.0.102 1 04/20/2024
8.0.101 1 04/20/2024
8.0.100 1 04/18/2024
8.0.100-rc.2.23480.5 2 04/19/2024
8.0.100-rc.1.23462.41 2 04/19/2024
8.0.100-rc.1.23455.21 2 04/19/2024
8.0.100-preview.7.23376.5 1 04/18/2024
8.0.100-preview.6.23330.7 1 04/20/2024
8.0.100-preview.5.23303.1 1 04/18/2024
8.0.100-preview.4.23260.11 1 04/18/2024
7.0.410 0 05/28/2024
7.0.409 0 05/14/2024
7.0.408 1 04/20/2024
7.0.407 1 04/19/2024
7.0.406 1 04/19/2024
7.0.405 1 04/20/2024
7.0.404 1 04/19/2024
7.0.403 1 04/20/2024
7.0.402 1 04/18/2024
7.0.401 1 04/19/2024
7.0.400 1 04/19/2024
7.0.317 0 05/28/2024
7.0.316 0 05/14/2024
7.0.315 1 04/19/2024
7.0.314 1 04/20/2024
7.0.313 1 04/19/2024
7.0.312 1 04/19/2024
7.0.311 1 04/19/2024
7.0.310 1 04/20/2024
7.0.309 1 04/18/2024
7.0.308 1 04/20/2024
7.0.307 1 04/20/2024
7.0.306 3 08/18/2023
7.0.305 1 04/19/2024
7.0.304 1 04/19/2024
7.0.302 1 04/20/2024
0.4.0 1 04/20/2024
0.3.2 1 04/19/2024
0.2.7 0 10/27/2022
0.1.8 1 04/19/2024