Skip to content

Commit b0de367

Browse files
committed
Remove 1709, cleanup base images
1 parent 91847cd commit b0de367

File tree

145 files changed

+211
-894
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+211
-894
lines changed

CVE-2017-0290/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM microsoft/windowsservercore:10.0.14393.2007
1+
FROM mcr.microsoft.com/windows/servercore:10.0.14393.2007
22

33
RUN powershell -command wget -useb -outfile testcase.js https://bugs.chromium.org/p/project-zero/issues/attachment?aid=283405
44

PowerShellTricks.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ ls | measure
125125
To measure the time that a command takes, use
126126

127127
```powershell
128-
Measure-Command {docker run microsoft/nanoserver hostname}
128+
Measure-Command {docker run mcr.microsoft.com/windows/nanoserver:1809 hostname}
129129
```
130130

131131
## time the stdout of another command

README.md

+11-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# dockerfiles-windows
22
[![Build status](https://ci.appveyor.com/api/projects/status/adxm3egqc5md3fe3/branch/master?svg=true)](https://ci.appveyor.com/project/StefanScherer/dockerfiles-windows/branch/master)
33

4-
Various Dockerfiles for Windows. Most of these can be run as Windows Containers on Windows 10, Windows Server 2016, Windows Server 1709 and Windows Server 1803.
4+
Various Dockerfiles for Windows. Most of these can be run as Windows Containers on Windows 10, Windows Server 2016, Windows Server 1803 and Windows Server 2019.
55

66
Most of these Dockerfiles are automatically built on [AppVeyor](https://www.appveyor.com) and pushed to Docker Hub. See the badges in each sub folder's README files.
77

@@ -26,23 +26,22 @@ Most of these Dockerfiles are automatically built on [AppVeyor](https://www.appv
2626
* Deploy a Windows Server 2016 VM to Azure with [`docker-windows-azure`](https://github.com/StefanScherer/docker-windows-azure) template
2727
* Clone this repo and create some Docker images
2828

29-
### Windows Server 1709
30-
* Get a Windows Server 1709 Virtual Machine
31-
* **Packer and Vagrant**
32-
* Use Packer with this [packer-windows](https://github.com/StefanScherer/packer-windows) templates to build the `windows_server_1709_docker` Vagrant box]. You need the ISO file from your MSDN subscription.
33-
* Use Vagrant and this [windows-docker-machine](https://github.com/StefanScherer/windows-docker-machine) Vagrantfile to have Docker and lots of Docker Tools installed. Run `vagrant up 1709`.
34-
* **Azure**
35-
* Deploy a Windows Server 1709 VM to Azure with [`docker-windows-azure`](https://github.com/StefanScherer/docker-windows-azure) template
36-
* Clone this repo and create some Docker images. Look for the `Dockerfile.1709` files.
37-
* It is recommended to use the smaller base images `microsoft/nanoserver:1709` and `microsoft/windowsservercore:1709`.
38-
3929
### Windows Server 1803
4030
* Get a Windows Server 1803 Virtual Machine
4131
* **Packer and Vagrant**
4232
* Use Packer with this [packer-windows](https://github.com/StefanScherer/packer-windows) templates to build the `windows_server_1803_docker` Vagrant box]. You need the ISO file from your MSDN subscription.
4333
* Use Vagrant and this [windows-docker-machine](https://github.com/StefanScherer/windows-docker-machine) Vagrantfile to have Docker and lots of Docker Tools installed. Run `vagrant up 1803`.
4434
* Clone this repo and create some Docker images. Look for the `Dockerfile.1803` files.
45-
* It is recommended to use the smaller base images `microsoft/nanoserver:1803` and `microsoft/windowsservercore:1803`.
35+
* It is recommended to use the smaller base images `mcr.microsoft.com/windows/nanoserver:1803` and `mcr.microsoft.com/windows/servercore:1803`.
36+
37+
38+
### Windows Server 2019
39+
* Get a Windows Server 2019 Virtual Machine
40+
* **Packer and Vagrant**
41+
* Use Packer with this [packer-windows](https://github.com/StefanScherer/packer-windows) templates to build the `windows_2019_docker` Vagrant box]. You need the ISO file from your MSDN subscription.
42+
* Use Vagrant and this [windows-docker-machine](https://github.com/StefanScherer/windows-docker-machine) Vagrantfile to have Docker and lots of Docker Tools installed. Run `vagrant up 2019`.
43+
* Clone this repo and create some Docker images. Look for the `Dockerfile.1809` files.
44+
* It is recommended to use the smaller base images `mcr.microsoft.com/windows/nanoserver:1809` and `mcr.microsoft.com/windows/servercore:1809`.
4645

4746
## Further reading
4847
* [Network start-up and performance improvements in Windows 10 April 2018 Update and Windows Server, version 1803](https://blogs.technet.microsoft.com/networking/2018/04/27/network-start-up-and-performance-improvements-in-windows-10-spring-creators-update-and-windows-server-version-1803/), 2018-04-27

apache/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# escape=`
2-
FROM microsoft/windowsservercore as download
2+
FROM mcr.microsoft.com/windows/servercore:ltsc2016 as download
33

44
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
55

@@ -13,7 +13,7 @@ RUN Invoke-WebRequest 'https://download.microsoft.com/download/9/3/F/93FCF1E7-E6
1313
Start-Process '.\vc_redist.x64.exe' '/install /passive /norestart' -Wait; `
1414
Remove-Item vc_redist.x64.exe;
1515

16-
FROM microsoft/nanoserver:10.0.14393.2125
16+
FROM mcr.microsoft.com/windows/servercore:ltsc2016
1717

1818
COPY --from=download C:\Apache24 C:\Apache24
1919
COPY --from=download C:\windows\system32\msvcp140.dll C:\windows\system32

apache/push.ps1

+4-19
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,5 @@
11
$version=$(select-string -Path Dockerfile -Pattern "ENV APACHE_VERSION").ToString().split()[-1]
2-
docker tag apache:$version stefanscherer/apache-windows:$version-1607
3-
docker push stefanscherer/apache-windows:$version-1607
4-
5-
npm install -g rebase-docker-image
6-
rebase-docker-image stefanscherer/apache-windows:$version-1607 -t stefanscherer/apache-windows:$version-1709 -b microsoft/nanoserver:1709
7-
8-
..\update-docker-cli.ps1
9-
10-
docker manifest create `
11-
stefanscherer/apache-windows:$version `
12-
stefanscherer/apache-windows:$version-1607 `
13-
stefanscherer/apache-windows:$version-1709
14-
docker manifest push stefanscherer/apache-windows:$version
15-
16-
docker manifest create `
17-
stefanscherer/apache-windows:latest `
18-
stefanscherer/apache-windows:$version-1607 `
19-
stefanscherer/apache-windows:$version-1709
20-
docker manifest push stefanscherer/apache-windows:latest
2+
docker tag apache:$version stefanscherer/apache-windows:$version
3+
docker push stefanscherer/apache-windows:$version
4+
docker tag apache:$version stefanscherer/apache-windows:latest
5+
docker push stefanscherer/apache-windows:latest

build.ps1

-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ $ErrorActionPreference = 'Stop';
22
$files = ""
33
Write-Host Starting build
44

5-
# Write-Host Updating base images
6-
# docker pull microsoft/windowsservercore
7-
# docker pull microsoft/nanoserver
8-
95
if ( $env:APPVEYOR_PULL_REQUEST_NUMBER ) {
106
Write-Host Pull request $env:APPVEYOR_PULL_REQUEST_NUMBER
117
$files = $(git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD master))

busybox/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM microsoft/nanoserver:10.0.14393.2068 AS prep
1+
FROM mcr.microsoft.com/windows/nanoserver:10.0.14393.2068 AS prep
22
WORKDIR /busybox
33
ADD https://github.com/jhowardmsft/busybox64/raw/master/busybox.exe busybox.exe
44
RUN FOR /f "tokens=*" %i IN ('busybox --list') DO mklink C:\busybox\%i.exe busybox.exe

busybox/Dockerfile.1709

-12
This file was deleted.

busybox/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[![This image on DockerHub](https://img.shields.io/docker/pulls/stefanscherer/busybox-windows.svg)](https://hub.docker.com/r/stefanscherer/busybox-windows/)
33

44
Based on the 64bit version of busybox.exe, thanks to John Howard's work in https://github.com/jhowardmsft/busybox64
5-
we now can have tar, wget and other tools in a NanoServer image. Even in a nanoserver:1709.
5+
we now can have tar, wget and other tools in a NanoServer image.
66
I've added curl.exe
77

88
Limits:

busybox/push.ps1

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
11
docker tag busybox stefanscherer/busybox-windows
22
docker push stefanscherer/busybox-windows
3-
4-
npm install -g rebase-docker-image
5-
rebase-docker-image stefanscherer/busybox-windows -t stefanscherer/busybox-windows:1709 -b microsoft/nanoserver:1709

caddy/Dockerfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# escape=`
2-
ARG tag=10.0.14393.2125
3-
FROM microsoft/windowsservercore:$tag AS download
4-
ENV CADDY_VERSION 0.10.12
2+
ARG tag=ltsc2016
3+
FROM mcr.microsoft.com/windows/servercore:$tag AS download
4+
ENV CADDY_VERSION 0.11.5
55
RUN powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; `
66
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
77
Invoke-WebRequest $('https://github.com/mholt/caddy/releases/download/v{0}/caddy_v{0}_windows_amd64.zip' -f $env:CADDY_VERSION) -OutFile 'caddy.zip' -UseBasicParsing ; `
88
Expand-Archive -Path caddy.zip -DestinationPath C:\caddy -Force ; `
99
rm caddy.zip
1010

11-
FROM microsoft/nanoserver:$tag
11+
FROM mcr.microsoft.com/windows/servercore:$tag
1212
COPY --from=download /caddy /caddy
1313

1414
WORKDIR C:\caddy

caddy/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ Caddy is an awesome standalone [web server](https://caddyserver.com)
1717
docker build -t caddy .
1818
```
1919

20-
On Windows Server 1709 build it with different base image tag.
20+
On Windows Server 1809 build it with different base image tag.
2121

2222
```
23-
docker build --build-arg tag=1709 -t caddy .
23+
docker build --build-arg tag=1809 -t caddy .
2424
```
2525

2626
## Run the container

chocolatey/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG version=ltsc2016
2-
FROM microsoft/windowsservercore:$version
2+
FROM mcr.microsoft.com/windows/servercore:$version
33

44
ENV chocolateyUseWindowsCompression false
55

chocolatey/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ Jump start into Chocolatey in a Windows container.
1212
docker build -t chocolatey .
1313
```
1414

15-
## Build for 1709
15+
## Build for 1803
1616

1717
```
18-
docker build --build-arg version=1709 -t chocolatey .
18+
docker build --build-arg version=1803 -t chocolatey .
1919
```
2020

21-
## Build for 1803
21+
22+
## Build for 2016 LTSC
2223

2324
```
24-
docker build --build-arg version=1803 -t chocolatey .
25+
docker build --build-arg version=ltsc2019 -t chocolatey .
2526
```
26-

compose-issue-5371/bind/docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "3.5"
22

33
services:
44
test:
5-
image: microsoft/windowsservercore:1709
5+
image: mcr.microsoft.com/windows/servercore:ltsc2019
66
volumes:
77
- type: bind
88
source: C:\Users\stefan\.ssh

compose-issue-5371/docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "3.2"
22

33
services:
44
test:
5-
image: microsoft/windowsservercore
5+
image: mcr.microsoft.com/windows/servercore
66
volumes:
77
- type: bind
88
source: C:\Users\stefan\.ssh

consul/Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# escape=`
2-
FROM microsoft/nanoserver:sac2016 as download
3-
ENV CONSUL_VERSION 1.4.0
2+
FROM mcr.microsoft.com/windows/servercore:ltsc2016 as download
3+
ENV CONSUL_VERSION 1.4.4
44

55
RUN powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; `
66
Invoke-WebRequest $('https://releases.hashicorp.com/consul/{0}/consul_{0}_windows_amd64.zip' -f $env:CONSUL_VERSION) -OutFile 'consul.zip' -UseBasicParsing ; `
@@ -9,7 +9,7 @@ RUN powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = '
99
mkdir C:\download\consul\data ; `
1010
mkdir C:\download\consul\config
1111

12-
FROM microsoft/nanoserver:sac2016
12+
FROM mcr.microsoft.com/windows/servercore:ltsc2016
1313
COPY --from=download /download /
1414

1515
# Expose the consul data directory as a volume since there's mutable state in there.

consul/push.ps1

+4-31
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,5 @@
11
$version=$(select-string -Path Dockerfile -Pattern "ENV CONSUL_VERSION").ToString().split()[-1]
2-
docker tag consul stefanscherer/consul-windows:$version-1607
3-
docker push stefanscherer/consul-windows:$version-1607
4-
5-
npm install -g rebase-docker-image
6-
rebase-docker-image `
7-
stefanscherer/consul-windows:$version-1607 `
8-
-t stefanscherer/consul-windows:$version-1709 `
9-
-b microsoft/nanoserver:1709
10-
rebase-docker-image `
11-
stefanscherer/consul-windows:$version-1607 `
12-
-t stefanscherer/consul-windows:$version-1803 `
13-
-b microsoft/nanoserver:1803
14-
rebase-docker-image `
15-
stefanscherer/consul-windows:$version-1607 `
16-
-s microsoft/nanoserver:sac2016 `
17-
-t stefanscherer/consul-windows:$version-1809 `
18-
-b stefanscherer/netapi-helper:1809
19-
20-
..\update-docker-cli.ps1
21-
22-
docker manifest create `
23-
stefanscherer/consul-windows:$version `
24-
stefanscherer/consul-windows:$version-1607 `
25-
stefanscherer/consul-windows:$version-1709
26-
docker manifest push stefanscherer/consul-windows:$version
27-
28-
docker manifest create `
29-
stefanscherer/consul-windows:latest `
30-
stefanscherer/consul-windows:$version-1607 `
31-
stefanscherer/consul-windows:$version-1709
32-
docker manifest push stefanscherer/consul-windows:latest
2+
docker tag consul stefanscherer/consul-windows:$version
3+
docker push stefanscherer/consul-windows:$version
4+
docker tag consul stefanscherer/consul-windows:latest
5+
docker push stefanscherer/consul-windows:latest

curl/Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
FROM microsoft/nanoserver:10.0.14393.2068 AS download
2-
ENV CURL_VERSION 7.58.0
1+
FROM mcr.microsoft.com/windows/servercore:ltsc2016 AS download
2+
ENV CURL_VERSION 7.64.1
33
WORKDIR /curl
44
ADD https://skanthak.homepage.t-online.de/download/curl-$CURL_VERSION.cab curl.cab
55
RUN expand /R curl.cab /F:* .
66

7-
FROM microsoft/nanoserver:10.0.14393.2068
7+
FROM mcr.microsoft.com/windows/servercore:ltsc2016
88
COPY --from=download /curl/AMD64/ /
99
COPY --from=download /curl/CURL.LIC /
1010
ENTRYPOINT ["curl.exe"]

curl/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
curl in a Windows NanoServer container
55

6-
Sometimes I need `curl.exe` inside a Windows NanoServer container to test inter-container networking. Here is a Docker image for it.
6+
Sometimes I need `curl.exe` inside a Windows ServerCore container to test inter-container networking. Here is a Docker image for it.
77

8-
It is a multi-OS Docker image so you can run it on Windows Server 2016 LTS as well as on Windows Server 1709. You need Docker 17.10.0 EE preview 3 to make the automatic OS selection work.
8+
Notice: In Windows Nanoserver and ServerCore images beginning with 1803 curl.exe and tar.exe are always available.
99

1010
```
1111
docker run stefanscherer/curl-windows

curl/push.ps1

+4-19
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,5 @@
11
$version=$(select-string -Path Dockerfile -Pattern "ENV CURL_VERSION").ToString().split()[-1]
2-
docker tag curl stefanscherer/curl-windows:$version-1607
3-
docker push stefanscherer/curl-windows:$version-1607
4-
5-
npm install -g rebase-docker-image
6-
rebase-docker-image stefanscherer/curl-windows:$version-1607 -t stefanscherer/curl-windows:$version-1709 -b microsoft/nanoserver:1709
7-
8-
..\update-docker-cli.ps1
9-
10-
docker manifest create `
11-
stefanscherer/curl-windows:$version `
12-
stefanscherer/curl-windows:$version-1607 `
13-
stefanscherer/curl-windows:$version-1709
14-
docker manifest push stefanscherer/curl-windows:$version
15-
16-
docker manifest create `
17-
stefanscherer/curl-windows:latest `
18-
stefanscherer/curl-windows:$version-1607 `
19-
stefanscherer/curl-windows:$version-1709
20-
docker manifest push stefanscherer/curl-windows:latest
2+
docker tag curl stefanscherer/curl-windows:$version
3+
docker push stefanscherer/curl-windows:$version
4+
docker tag curl stefanscherer/curl-windows:latest
5+
docker push stefanscherer/curl-windows:latest

diskspd/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM microsoft/windowsservercore:10.0.14393.2068
1+
FROM mcr.microsoft.com/windows/servercore:ltsc2016
22

33
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
44

diskspd/Dockerfile.nano

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM microsoft/nanoserver:10.0.14393.2068
1+
FROM mcr.microsoft.com/windows/nanoserver:10.0.14393.2068
22

33
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
44

docker-cli/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM microsoft/windowsservercore as download
1+
FROM mcr.microsoft.com/windows/servercore:ltsc2016 as download
22

33
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
44

@@ -12,6 +12,6 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
1212
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
1313
RUN /innoextract.exe dockertoolbox.exe
1414

15-
FROM microsoft/nanoserver:sac2016
15+
FROM mcr.microsoft.com/windows/nanoserver:sac2016
1616
COPY --from=download /app/docker.exe /
1717
CMD [ "docker.exe" ]

docker-cli/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
To test the Docker API from inside a Windows container it sometimes is useful to have the Docker CLI.
55

6-
Especially for Windows Server 1709 it's easy to access the Docker API of the host
6+
Especially since Windows Server 1709 it's easy to access the Docker API of the host
77

88
```
99
docker run -v //./pipe/docker_engine://./pipe/docker_engine -u ContainerAdministrator stefanscherer/docker-cli-windows docker version

0 commit comments

Comments
 (0)