@@ -25,6 +25,8 @@ RUN <<-EOT
2525 set -eux
2626 apt-get update
2727 apt-get install -y curl tar apt-transport-https ca-certificates gnupg
28+ groupadd --gid 1001 non-root-user
29+ useradd --uid 1001 --gid 1001 -m non-root-user
2830 apt-get clean
2931 rm -rf /var/lib/apt/lists/*
3032EOT
@@ -59,6 +61,9 @@ RUN <<-EOT
5961 /usr/lib/jvm/graalvm*/lib/installer
6062EOT
6163
64+ # Switch to non-root user during runtime for security
65+ USER non-root-user
66+
6267FROM scratch AS default-jdk
6368
6469COPY --from=all-jdk /usr/lib/jvm/8 /usr/lib/jvm/8
@@ -78,6 +83,8 @@ RUN <<-EOT
7883 apt-get update
7984 apt-get install -y curl tar apt-transport-https ca-certificates gnupg \
8085 socat less debian-goodies autossh ca-certificates-java python3-pip
86+ groupadd --gid 1001 non-root-user
87+ useradd --uid 1001 --gid 1001 -m non-root-user
8188 apt-get clean
8289 rm -rf /var/lib/apt/lists/*
8390 mkdir -p /usr/local/lib/docker/cli-plugins /usr/local/bin
@@ -117,6 +124,9 @@ RUN <<-EOT
117124 rm -rf /var/lib/apt/lists/*
118125EOT
119126
127+ # Switch to non-root user during runtime for security
128+ USER non-root-user
129+
120130# IBM specific env variables
121131ENV IBM_JAVA_OPTIONS="-XX:+UseContainerSupport"
122132
@@ -141,6 +151,9 @@ COPY --from=all-jdk /usr/lib/jvm/${VARIANT_LOWER} /usr/lib/jvm/${VARIANT_LOWER}
141151ENV JAVA_${VARIANT_UPPER}_HOME=/usr/lib/jvm/${VARIANT_LOWER}
142152ENV JAVA_${VARIANT_LOWER}_HOME=/usr/lib/jvm/${VARIANT_LOWER}
143153
154+ # Switch to non-root user during runtime for security
155+ USER non-root-user
156+
144157# Full image for debugging, contains all JDKs.
145158FROM base AS full
146159
@@ -156,6 +169,9 @@ COPY --from=all-jdk /usr/lib/jvm/ubuntu17 /usr/lib/jvm/ubuntu17
156169COPY --from=all-jdk /usr/lib/jvm/graalvm17 /usr/lib/jvm/graalvm17
157170COPY --from=all-jdk /usr/lib/jvm/graalvm21 /usr/lib/jvm/graalvm21
158171
172+ # Switch to non-root user during runtime for security
173+ USER non-root-user
174+
159175ENV JAVA_7_HOME=/usr/lib/jvm/7
160176
161177ENV JAVA_ZULU7_HOME=/usr/lib/jvm/7
0 commit comments