Skip to content

Commit e4f01b5

Browse files
committed
Add initial Nano Server variants
1 parent d368a4f commit e4f01b5

File tree

16 files changed

+283
-2
lines changed

16 files changed

+283
-2
lines changed

.travis.yml

+12
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,37 @@ matrix:
1010
- os: windows
1111
dist: 1803-containers
1212
env: VERSION=13 VARIANT=windows/windowsservercore-1803
13+
- os: windows
14+
dist: 1803-containers
15+
env: VERSION=13 VARIANT=windows/nanoserver-1803
1316
- os: linux
1417
env: VERSION=12 VARIANT=oracle
1518
- os: windows
1619
dist: 1803-containers
1720
env: VERSION=12 VARIANT=windows/windowsservercore-1803
21+
- os: windows
22+
dist: 1803-containers
23+
env: VERSION=12 VARIANT=windows/nanoserver-1803
1824
- os: linux
1925
env: VERSION=11
2026
- os: linux
2127
env: VERSION=11 VARIANT=slim
2228
- os: windows
2329
dist: 1803-containers
2430
env: VERSION=11 VARIANT=windows/windowsservercore-1803
31+
- os: windows
32+
dist: 1803-containers
33+
env: VERSION=11 VARIANT=windows/nanoserver-1803
2534
- os: linux
2635
env: VERSION=8
2736
- os: linux
2837
env: VERSION=8 VARIANT=slim
2938
- os: windows
3039
dist: 1803-containers
3140
env: VERSION=8 VARIANT=windows/windowsservercore-1803
41+
- os: windows
42+
dist: 1803-containers
43+
env: VERSION=8 VARIANT=windows/nanoserver-1803
3244

3345
install:
3446
- git clone https://github.com/docker-library/official-images.git ~/official-images
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1803
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-11
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 11.0.3
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:11.0.3-windowsservercore-1803 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo javac --version && javac --version \
20+
&& echo java --version && java --version
21+
22+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
23+
CMD ["jshell"]
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1809
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-11
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 11.0.3
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:11.0.3-windowsservercore-1809 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo javac --version && javac --version \
20+
&& echo java --version && java --version
21+
22+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
23+
CMD ["jshell"]
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1803
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-12
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://jdk.java.net/
13+
ENV JAVA_VERSION 12.0.1
14+
15+
COPY --from=openjdk:12.0.1-windowsservercore-1803 $JAVA_HOME $JAVA_HOME
16+
17+
RUN echo Verifying install ... \
18+
&& echo javac --version && javac --version \
19+
&& echo java --version && java --version
20+
21+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
22+
CMD ["jshell"]
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1809
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-12
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://jdk.java.net/
13+
ENV JAVA_VERSION 12.0.1
14+
15+
COPY --from=openjdk:12.0.1-windowsservercore-1809 $JAVA_HOME $JAVA_HOME
16+
17+
RUN echo Verifying install ... \
18+
&& echo javac --version && javac --version \
19+
&& echo java --version && java --version
20+
21+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
22+
CMD ["jshell"]
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1803
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-13
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://jdk.java.net/
13+
ENV JAVA_VERSION 13-ea+27
14+
15+
COPY --from=openjdk:13-ea-27-windowsservercore-1803 $JAVA_HOME $JAVA_HOME
16+
17+
RUN echo Verifying install ... \
18+
&& echo javac --version && javac --version \
19+
&& echo java --version && java --version
20+
21+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
22+
CMD ["jshell"]
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1809
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-13
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://jdk.java.net/
13+
ENV JAVA_VERSION 13-ea+27
14+
15+
COPY --from=openjdk:13-ea-27-windowsservercore-1809 $JAVA_HOME $JAVA_HOME
16+
17+
RUN echo Verifying install ... \
18+
&& echo javac --version && javac --version \
19+
&& echo java --version && java --version
20+
21+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
22+
CMD ["jshell"]
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1803
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-8
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 8u212-b04
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:8u212-b04-windowsservercore-1803 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo javac -version && javac -version \
20+
&& echo java -version && java -version
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1809
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-8
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 8u212-b04
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:8u212-b04-windowsservercore-1809 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo javac -version && javac -version \
20+
&& echo java -version && java -version
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1803
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-8
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 8u212-b04
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:8u212-b04-windowsservercore-1803 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo java -version && java -version
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:1809
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME C:\\openjdk-8
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION 8u212-b04
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=openjdk:8u212-b04-windowsservercore-1809 $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo java -version && java -version
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
FROM placeholder
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME placeholder
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://adoptopenjdk.net/upstream.html
13+
ENV JAVA_VERSION placeholder
14+
# https://github.com/docker-library/openjdk/issues/320#issuecomment-494050246
15+
16+
COPY --from=%%SERVERCORE-IMAGE%% $JAVA_HOME $JAVA_HOME
17+
18+
RUN echo Verifying install ... \
19+
&& echo javac --version && javac --version \
20+
&& echo java --version && java --version
21+
22+
# TODO "Launching JShell execution engine threw: C:\openjdk-13\bin\net.dll: Can't find dependent libraries"
23+
# https://bugs.openjdk.java.net/browse/JDK-8218486
24+
# https://bugs.openjdk.java.net/browse/JDK-8225425
25+
26+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
27+
CMD ["jshell"]
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM placeholder
2+
3+
SHELL ["cmd", "/s", "/c"]
4+
5+
ENV JAVA_HOME placeholder
6+
# "ERROR: Access to the registry path is denied."
7+
USER ContainerAdministrator
8+
RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \
9+
&& setx /M PATH %JAVA_HOME%\bin;%PATH%
10+
USER ContainerUser
11+
12+
# https://jdk.java.net/
13+
ENV JAVA_VERSION placeholder
14+
15+
COPY --from=%%SERVERCORE-IMAGE%% $JAVA_HOME $JAVA_HOME
16+
17+
RUN echo Verifying install ... \
18+
&& echo javac --version && javac --version \
19+
&& echo java --version && java --version
20+
21+
# TODO "Launching JShell execution engine threw: C:\openjdk-13\bin\net.dll: Can't find dependent libraries"
22+
# https://bugs.openjdk.java.net/browse/JDK-8218486
23+
# https://bugs.openjdk.java.net/browse/JDK-8225425
24+
25+
# "jshell" is an interactive REPL for Java (see https://en.wikipedia.org/wiki/JShell)
26+
CMD ["jshell"]

update.sh

+6-2
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,12 @@ for javaVersion in "${versions[@]}"; do
176176
windowsVariant="${windowsVersion%%-*}" # "windowsservercore", "nanoserver"
177177
windowsVersion="${windowsVersion#$windowsVariant-}" # "1803", "ltsc2016", etc
178178
windowsVariant="${windowsVariant#windows}" # "servercore", "nanoserver"
179+
serverCoreImage="openjdk:$adoptVersion-windowsservercore-$windowsVersion" # "openjdk:8u212-b04-windowsservercore-1809", etc
179180
sed -r "${sedArgs[@]}" \
180181
-e 's!^(ENV JAVA_HOME) .*!\1 C:\\\\openjdk-'"$javaVersion"'!' \
181182
-e 's!^(FROM) .*$!\1 mcr.microsoft.com/windows/'"$windowsVariant"':'"$windowsVersion"'!' \
182-
Dockerfile-adopt-windows.template > "$winD/Dockerfile"
183+
-e 's!%%SERVERCORE-IMAGE%%!'"$serverCoreImage"'!g' \
184+
"Dockerfile-adopt-windows-$windowsVariant.template" > "$winD/Dockerfile"
183185
dockerfiles+=( "$winD/Dockerfile" )
184186
done
185187
fi
@@ -232,13 +234,15 @@ for javaVersion in "${versions[@]}"; do
232234
windowsVariant="${windowsVersion%%-*}" # "windowsservercore", "nanoserver"
233235
windowsVersion="${windowsVersion#$windowsVariant-}" # "1803", "ltsc2016", etc
234236
windowsVariant="${windowsVariant#windows}" # "servercore", "nanoserver"
237+
serverCoreImage="openjdk:${downloadVersion//+/-}-windowsservercore-$windowsVersion" # "openjdk:8u212-b04-windowsservercore-1809", etc
235238
sed -r \
236239
-e 's!^(FROM) .*$!\1 mcr.microsoft.com/windows/'"$windowsVariant"':'"$windowsVersion"'!' \
237240
-e 's!^(ENV JAVA_HOME) .*!\1 C:\\\\openjdk-'"$javaVersion"'!' \
238241
-e 's!^(ENV JAVA_VERSION) .*!\1 '"$downloadVersion"'!' \
239242
-e 's!^(ENV JAVA_URL) .*!\1 '"$downloadUrl"'!' \
240243
-e 's!^(ENV JAVA_SHA256) .*!\1 '"$downloadSha256"'!' \
241-
Dockerfile-oracle-windows.template > "$winD/Dockerfile"
244+
-e 's!%%SERVERCORE-IMAGE%%!'"$serverCoreImage"'!g' \
245+
"Dockerfile-oracle-windows-$windowsVariant.template" > "$winD/Dockerfile"
242246
done
243247
fi
244248
;;

0 commit comments

Comments
 (0)