Skip to content

Commit d05f7c3

Browse files
[main] Update common Docker engineering infrastructure with latest (#1288)
Co-authored-by: Logan Bussell <loganbussell@microsoft.com>
1 parent 08c9b74 commit d05f7c3

24 files changed

Lines changed: 579 additions & 190 deletions

README.aspnet.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,29 +62,15 @@ Additionally, .NET Framework 4.8 and 4.8.1 can run apps that were built targetin
6262

6363
## Full Tag Listing
6464

65-
### Windows Server Core 2025 amd64 Tags
65+
### Windows amd64 Tags
6666

67-
Tag | Dockerfile
68-
---------| ---------------
69-
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/aspnet/4.8.1/windowsservercore-ltsc2025/Dockerfile)
67+
Tags | Dockerfile | OS Version
68+
---- | ---------- | ----------
69+
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/aspnet/4.8.1/windowsservercore-ltsc2025/Dockerfile) | Windows Server Core 2025
70+
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/aspnet/4.8.1/windowsservercore-ltsc2022/Dockerfile) | Windows Server Core 2022
71+
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/aspnet/4.8/windowsservercore-ltsc2019/Dockerfile) | Windows Server Core 2019
72+
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/aspnet/4.8/windowsservercore-ltsc2016/Dockerfile) | Windows Server Core 2016
7073

71-
### Windows Server Core 2022 amd64 Tags
72-
73-
Tag | Dockerfile
74-
---------| ---------------
75-
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/aspnet/4.8.1/windowsservercore-ltsc2022/Dockerfile)
76-
77-
### Windows Server Core 2019 amd64 Tags
78-
79-
Tag | Dockerfile
80-
---------| ---------------
81-
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/aspnet/4.8/windowsservercore-ltsc2019/Dockerfile)
82-
83-
### Windows Server Core 2016 amd64 Tags
84-
85-
Tag | Dockerfile
86-
---------| ---------------
87-
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/aspnet/4.8/windowsservercore-ltsc2016/Dockerfile)
8874
<!--End of generated tags-->
8975

9076
*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).

README.runtime.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,15 @@ Additionally, .NET Framework 4.8 and 4.8.1 can run apps that were built targetin
5353

5454
## Full Tag Listing
5555

56-
### Windows Server Core 2025 amd64 Tags
56+
### Windows amd64 Tags
5757

58-
Tag | Dockerfile
59-
---------| ---------------
60-
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/runtime/4.8.1/windowsservercore-ltsc2025/Dockerfile)
58+
Tags | Dockerfile | OS Version
59+
---- | ---------- | ----------
60+
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/runtime/4.8.1/windowsservercore-ltsc2025/Dockerfile) | Windows Server Core 2025
61+
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/runtime/4.8.1/windowsservercore-ltsc2022/Dockerfile) | Windows Server Core 2022
62+
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/runtime/4.8/windowsservercore-ltsc2019/Dockerfile) | Windows Server Core 2019
63+
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/runtime/4.8/windowsservercore-ltsc2016/Dockerfile) | Windows Server Core 2016
6164

62-
### Windows Server Core 2022 amd64 Tags
63-
64-
Tag | Dockerfile
65-
---------| ---------------
66-
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/runtime/4.8.1/windowsservercore-ltsc2022/Dockerfile)
67-
68-
### Windows Server Core 2019 amd64 Tags
69-
70-
Tag | Dockerfile
71-
---------| ---------------
72-
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/runtime/4.8/windowsservercore-ltsc2019/Dockerfile)
73-
74-
### Windows Server Core 2016 amd64 Tags
75-
76-
Tag | Dockerfile
77-
---------| ---------------
78-
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/runtime/4.8/windowsservercore-ltsc2016/Dockerfile)
7965
<!--End of generated tags-->
8066

8167
*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).

README.samples.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,15 @@ docker run --name wcfclient_sample --rm -it -e HOST=172.26.236.119 mcr.microsoft
7777

7878
## Full Tag Listing
7979

80-
### Windows Server Core 2022 amd64 Tags
81-
82-
Tag | Dockerfile
83-
---------| ---------------
84-
dotnetapp-windowsservercore-ltsc2022, dotnetapp, latest | [Dockerfile](samples/dotnetapp/Dockerfile)
85-
aspnetapp-windowsservercore-ltsc2022, aspnetapp | [Dockerfile](samples/aspnetapp/Dockerfile)
86-
wcfservice-windowsservercore-ltsc2022, wcfservice | [Dockerfile](samples/wcfapp/Dockerfile.web)
87-
wcfclient-windowsservercore-ltsc2022, wcfclient | [Dockerfile](samples/wcfapp/Dockerfile.client)
80+
### Windows amd64 Tags
81+
82+
Tags | Dockerfile | OS Version
83+
---- | ---------- | ----------
84+
dotnetapp-windowsservercore-ltsc2022, dotnetapp, latest | [Dockerfile](samples/dotnetapp/Dockerfile) | Windows Server Core 2022
85+
aspnetapp-windowsservercore-ltsc2022, aspnetapp | [Dockerfile](samples/aspnetapp/Dockerfile) | Windows Server Core 2022
86+
wcfservice-windowsservercore-ltsc2022, wcfservice | [Dockerfile](samples/wcfapp/Dockerfile.web) | Windows Server Core 2022
87+
wcfclient-windowsservercore-ltsc2022, wcfclient | [Dockerfile](samples/wcfapp/Dockerfile.client) | Windows Server Core 2022
88+
8889
<!--End of generated tags-->
8990

9091
*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).

README.sdk.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -58,29 +58,15 @@ Additionally, .NET Framework 4.8 and 4.8.1 can run apps that were built targetin
5858

5959
## Full Tag Listing
6060

61-
### Windows Server Core 2025 amd64 Tags
61+
### Windows amd64 Tags
6262

63-
Tag | Dockerfile
64-
---------| ---------------
65-
4.8.1-20251209-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/sdk/4.8.1/windowsservercore-ltsc2025/Dockerfile)
63+
Tags | Dockerfile | OS Version
64+
---- | ---------- | ----------
65+
4.8.1-20251209-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/sdk/4.8.1/windowsservercore-ltsc2025/Dockerfile) | Windows Server Core 2025
66+
4.8.1-20251209-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/sdk/4.8.1/windowsservercore-ltsc2022/Dockerfile) | Windows Server Core 2022
67+
4.8-20251209-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/sdk/4.8/windowsservercore-ltsc2019/Dockerfile) | Windows Server Core 2019
68+
4.8-20251209-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/sdk/4.8/windowsservercore-ltsc2016/Dockerfile) | Windows Server Core 2016
6669

67-
### Windows Server Core 2022 amd64 Tags
68-
69-
Tag | Dockerfile
70-
---------| ---------------
71-
4.8.1-20251209-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/sdk/4.8.1/windowsservercore-ltsc2022/Dockerfile)
72-
73-
### Windows Server Core 2019 amd64 Tags
74-
75-
Tag | Dockerfile
76-
---------| ---------------
77-
4.8-20251209-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/sdk/4.8/windowsservercore-ltsc2019/Dockerfile)
78-
79-
### Windows Server Core 2016 amd64 Tags
80-
81-
Tag | Dockerfile
82-
---------| ---------------
83-
4.8-20251209-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/sdk/4.8/windowsservercore-ltsc2016/Dockerfile)
8470
<!--End of generated tags-->
8571

8672
*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).

README.wcf.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,29 +66,15 @@ Additionally, .NET Framework 4.8 and 4.8.1 can run apps that were built targetin
6666

6767
## Full Tag Listing
6868

69-
### Windows Server Core 2025 amd64 Tags
69+
### Windows amd64 Tags
7070

71-
Tag | Dockerfile
72-
---------| ---------------
73-
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/wcf/4.8.1/windowsservercore-ltsc2025/Dockerfile)
71+
Tags | Dockerfile | OS Version
72+
---- | ---------- | ----------
73+
4.8.1-20251014-windowsservercore-ltsc2025, 4.8.1-windowsservercore-ltsc2025, 4.8.1 | [Dockerfile](src/wcf/4.8.1/windowsservercore-ltsc2025/Dockerfile) | Windows Server Core 2025
74+
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/wcf/4.8.1/windowsservercore-ltsc2022/Dockerfile) | Windows Server Core 2022
75+
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/wcf/4.8/windowsservercore-ltsc2019/Dockerfile) | Windows Server Core 2019
76+
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/wcf/4.8/windowsservercore-ltsc2016/Dockerfile) | Windows Server Core 2016
7477

75-
### Windows Server Core 2022 amd64 Tags
76-
77-
Tag | Dockerfile
78-
---------| ---------------
79-
4.8.1-20251014-windowsservercore-ltsc2022, 4.8.1-windowsservercore-ltsc2022, 4.8.1 | [Dockerfile](src/wcf/4.8.1/windowsservercore-ltsc2022/Dockerfile)
80-
81-
### Windows Server Core 2019 amd64 Tags
82-
83-
Tag | Dockerfile
84-
---------| ---------------
85-
4.8-20251014-windowsservercore-ltsc2019, 4.8-windowsservercore-ltsc2019, 4.8, latest | [Dockerfile](src/wcf/4.8/windowsservercore-ltsc2019/Dockerfile)
86-
87-
### Windows Server Core 2016 amd64 Tags
88-
89-
Tag | Dockerfile
90-
---------| ---------------
91-
4.8-20251014-windowsservercore-ltsc2016, 4.8-windowsservercore-ltsc2016, 4.8, latest | [Dockerfile](src/wcf/4.8/windowsservercore-ltsc2016/Dockerfile)
9278
<!--End of generated tags-->
9379

9480
*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).

eng/docker-tools/templates/jobs/build-images.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ parameters:
44
matrix: {}
55
dockerClientOS: null
66
buildJobTimeout: 60
7-
commonInitStepsForMatrixAndBuild: []
7+
# Custom steps to set up ImageBuilder instead of pulling from MCR (e.g., bootstrap from source).
8+
# Runs before ImageBuilder pull. If non-empty, skips the default ImageBuilder pull.
89
customInitSteps: []
10+
# Custom steps that run after ImageBuilder is set up but before the build starts.
11+
# Use for build-specific initialization (e.g., setting variables, additional setup).
12+
customBuildInitSteps: []
913
publishConfig: null
14+
versionsRepoRef: ""
1015
noCache: false
1116
internalProjectName: null
1217
publicProjectName: null
@@ -29,12 +34,14 @@ jobs:
2934
imageInfoHostDir: $(Build.ArtifactStagingDirectory)/imageInfo
3035
imageInfoContainerDir: $(artifactsPath)/imageInfo
3136
steps:
32-
- ${{ parameters.commonInitStepsForMatrixAndBuild }}
33-
- template: /eng/docker-tools/templates/jobs/${{ format('../steps/init-docker-{0}.yml', parameters.dockerClientOS) }}@self
37+
- template: /eng/docker-tools/templates/steps/init-common.yml@self
3438
parameters:
39+
dockerClientOS: ${{ parameters.dockerClientOS }}
3540
publishConfig: ${{ parameters.publishConfig }}
41+
versionsRepoRef: ${{ parameters.versionsRepoRef }}
3642
cleanupDocker: true
37-
- ${{ parameters.customInitSteps }}
43+
customInitSteps: ${{ parameters.customInitSteps }}
44+
- ${{ parameters.customBuildInitSteps }}
3845
- template: /eng/docker-tools/templates/steps/set-image-info-path-var.yml@self
3946
parameters:
4047
publicSourceBranch: $(publicSourceBranch)
@@ -115,6 +122,7 @@ jobs:
115122
- template: /eng/docker-tools/templates/jobs/${{ format('../steps/test-images-{0}-client.yml', parameters.dockerClientOS) }}@self
116123
parameters:
117124
condition: ne(variables.testScriptPath, '')
125+
skipCommonInit: true
118126
- ${{ if and(eq(variables['System.TeamProject'], parameters.internalProjectName), ne(variables['Build.Reason'], 'PullRequest'), eq(parameters.dockerClientOS, 'linux')) }}:
119127
- template: /eng/docker-tools/templates/steps/publish-artifact.yml@self
120128
parameters:

eng/docker-tools/templates/jobs/copy-base-images-staging.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,24 @@ parameters:
88
- name: publishConfig
99
type: object
1010
default: null
11+
# Custom steps to set up ImageBuilder instead of pulling from MCR (e.g., bootstrap from source).
12+
# Runs before ImageBuilder pull. If non-empty, skips the default ImageBuilder pull.
1113
- name: customInitSteps
1214
type: stepList
1315
default: []
16+
# Custom steps that run after ImageBuilder is set up but before copy-base-images runs.
17+
- name: customCopyBaseImagesInitSteps
18+
type: stepList
19+
default: []
1420
- name: additionalOptions
1521
type: string
1622
default: ''
1723
- name: continueOnError
1824
type: string
1925
default: false
26+
- name: versionsRepoRef
27+
type: string
28+
default: ""
2029

2130
jobs:
2231
- template: /eng/docker-tools/templates/jobs/copy-base-images.yml@self
@@ -25,5 +34,7 @@ jobs:
2534
pool: ${{ parameters.pool }}
2635
publishConfig: ${{ parameters.publishConfig }}
2736
customInitSteps: ${{ parameters.customInitSteps }}
37+
customCopyBaseImagesInitSteps: ${{ parameters.customCopyBaseImagesInitSteps }}
2838
additionalOptions: ${{ parameters.additionalOptions }}
2939
acr: ${{ parameters.publishConfig.InternalMirrorRegistry }}
40+
versionsRepoRef: ${{ parameters.versionsRepoRef }}

eng/docker-tools/templates/jobs/copy-base-images.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,15 @@ parameters:
1111
- name: acr
1212
type: object
1313
default: null
14+
# Custom steps to set up ImageBuilder instead of pulling from MCR (e.g., bootstrap from source).
15+
# Runs before ImageBuilder pull. If non-empty, skips the default ImageBuilder pull.
1416
- name: customInitSteps
1517
type: stepList
1618
default: []
19+
# Custom steps that run after ImageBuilder is set up but before copy-base-images runs.
20+
- name: customCopyBaseImagesInitSteps
21+
type: stepList
22+
default: []
1723
- name: additionalOptions
1824
type: string
1925
default: ''
@@ -23,15 +29,21 @@ parameters:
2329
- name: forceDryRun
2430
type: boolean
2531
default: false
32+
- name: versionsRepoRef
33+
type: string
34+
default: ""
2635

2736
jobs:
2837
- job: ${{ parameters.name }}
2938
pool: ${{ parameters.pool }}
3039
steps:
31-
- template: /eng/docker-tools/templates/steps/init-docker-linux.yml@self
40+
- template: /eng/docker-tools/templates/steps/init-common.yml@self
3241
parameters:
42+
dockerClientOS: linux
3343
publishConfig: ${{ parameters.publishConfig }}
34-
- ${{ parameters.customInitSteps }}
44+
customInitSteps: ${{ parameters.customInitSteps }}
45+
versionsRepoRef: ${{ parameters.versionsRepoRef }}
46+
- ${{ parameters.customCopyBaseImagesInitSteps }}
3547
- template: /eng/docker-tools/templates/steps/copy-base-images.yml@self
3648
parameters:
3749
acr: ${{ parameters.acr }}

eng/docker-tools/templates/jobs/generate-matrix.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,26 @@ parameters:
77
internalProjectName: null
88
noCache: false
99
publishConfig: null
10+
# Custom steps to set up ImageBuilder instead of pulling from MCR (e.g., bootstrap from source).
11+
# Runs before ImageBuilder pull. If non-empty, skips the default ImageBuilder pull.
1012
customInitSteps: []
11-
commonInitStepsForMatrixAndBuild: []
13+
# Custom steps that run after ImageBuilder is set up but before matrix generation runs.
14+
customGenerateMatrixInitSteps: []
15+
versionsRepoRef: ""
1216
sourceBuildPipelineRunId: ""
1317

1418
jobs:
1519
- job: ${{ parameters.name }}
1620
pool: ${{ parameters.pool }}
1721
steps:
18-
- ${{ parameters.commonInitStepsForMatrixAndBuild }}
22+
- template: /eng/docker-tools/templates/steps/init-common.yml@self
23+
parameters:
24+
dockerClientOS: linux
25+
publishConfig: ${{ parameters.publishConfig }}
26+
versionsRepoRef: ${{ parameters.versionsRepoRef }}
27+
customInitSteps: ${{ parameters.customInitSteps }}
28+
- ${{ parameters.customGenerateMatrixInitSteps }}
1929
- template: /eng/docker-tools/templates/steps/retain-build.yml@self
20-
- template: /eng/docker-tools/templates/steps/init-docker-linux.yml@self
21-
- ${{ parameters.customInitSteps }}
2230
- template: /eng/docker-tools/templates/steps/validate-branch.yml@self
2331
parameters:
2432
publishConfig: ${{ parameters.publishConfig }}

eng/docker-tools/templates/jobs/post-build.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ parameters:
22
pool: {}
33
internalProjectName: null
44
publicProjectName: null
5+
customInitSteps: []
56

67
jobs:
78
- job: Build
@@ -13,7 +14,10 @@ jobs:
1314
imageInfosOutputSubDir: "/output"
1415
sbomOutputDir: "$(Build.ArtifactStagingDirectory)/sbom"
1516
steps:
16-
- template: /eng/docker-tools/templates/steps/init-docker-linux.yml@self
17+
- template: /eng/docker-tools/templates/steps/init-common.yml@self
18+
parameters:
19+
dockerClientOS: linux
20+
customInitSteps: ${{ parameters.customInitSteps }}
1721
- template: /eng/docker-tools/templates/steps/download-build-artifact.yml@self
1822
parameters:
1923
targetPath: $(Build.ArtifactStagingDirectory)

0 commit comments

Comments
 (0)