docker-tools
docker-tools copied to clipboard
This is a repo to house some common tools for our various docker repos.
Found as part of https://github.com/dotnet/dotnet-docker/pull/5359. Steps to reproduce in dotnet-docker nightly branch ``` .\tests\performance\Validate-ImageSize.ps1 -UpdateBaselines -ImageBuilderCustomArgs "--os-version azurelinux3.0"``` Results ``` Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target...
Docker `buildx` has a feature that allows you to dynamically override any of the FROM statements in a Dockerfile at build-time. For example, `--build-context mcr.microsoft.com/dotnet/runtime:8.0=mycustomacr.azurecr.io/repo:tag`. https://docs.docker.com/reference/cli/docker/buildx/build/#build-context This means we wouldn't...
Currently there are no enforced rules as to code quality or style in any of the .NET Docker repos. We should consider using StyleCop.Analyzers to enforce consistency within and across...
Related: https://github.com/dotnet/dotnet-docker-internal/issues/4475 With the addition of 1ES pipeline templates, we have a few places where our default pool definitions are overridden or ignored. We should consolidate these into one set...
The [Auto Builder subscription](https://github.com/dotnet/docker-tools/blob/c677860a1adc513d363d806688981acbb7ccee49/eng/check-base-image-subscriptions-buildtools.json) for the [dotnet/dotnet-buildtools-prereqs-docker](https://github.com/dotnet/dotnet-buildtools-prereqs-docker) is currently configured such that it handles updates for all Dockerfiles in the repo. This can cause a bottleneck when issues occur that...
ImageBuilder, file-pusher, and yaml-updater are all using `System.Commandline` version `2.0.0-beta1.20574.7` from 2021. A new version, `2.0.0-beta4.22272.1` is available. It has several breaking changes that are preventing it from being easily...
## Steps to reproduce the issue Try to run a build in the `dotnet-docker` repo with a path argument of `'*sdk*'`. That results in the following error: ``` Error: No...
As an example, this is the SBOM of an Alpine 3.17 Arm64 .NET 6 SDK image: [manifest.spdx.json](https://artprodcus3.artifacts.visualstudio.com/Ab55de4ed-4b5a-4215-a8e4-0a0a5f71e7d8/7ea9116e-9fac-403d-b258-b31fcf1bb293/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2RuY2VuZy9wcm9qZWN0SWQvN2VhOTExNmUtOWZhYy00MDNkLWIyNTgtYjMxZmNmMWJiMjkzL2J1aWxkSWQvMjIwNzQyNy9hcnRpZmFjdE5hbWUvbGludXhhcm02NHNyYy1ydW50aW1lLWRlcHMtNi4wLWFscGluZTMuMTctYXJtNjR2OC1ncmFwaC1zYm9tcw2/content?format=file&subPath=%2Fdotnet_sdk%40sha256_55bbb3a5f75bd27b65fd52ab7831074215da4b9e8fb08cca8c6514768e8aa677%2F_manifest%2Fspdx_2.2%2Fmanifest.spdx.json) (internal link). It contains no Linux packages. Looking at the [build log](https://dev.azure.com/dnceng/internal/_build/results?buildId=2207427&view=logs&j=587f617b-2bb0-5938-1a3f-0d7048af1705&t=44da1e2b-0101-5b1c-fc81-906859466d66) provides...
https://github.com/dotnet/dotnet-docker/blob/f270639b443e85fe6db63fe598a4ab1eec24ff33/manifest.json#L948-L957 Currently, we offer arm32v7 native AOT images for runtime-deps but not for sdk. This means that we need to use the arm64 AOT SDK to test the arm32 AOT...
Tracking the image/layer size information is useful for metric tracking purposes. The wire/compressed size is the most useful to track.