Skip to content

Commit 4b52e2c

Browse files
committed
Add non-root user
1 parent bdee917 commit 4b52e2c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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/*
3032
EOT
@@ -59,6 +61,9 @@ RUN <<-EOT
5961
/usr/lib/jvm/graalvm*/lib/installer
6062
EOT
6163

64+
# Switch to non-root user during runtime for security
65+
USER non-root-user
66+
6267
FROM scratch AS default-jdk
6368

6469
COPY --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/*
118125
EOT
119126

127+
# Switch to non-root user during runtime for security
128+
USER non-root-user
129+
120130
# IBM specific env variables
121131
ENV IBM_JAVA_OPTIONS="-XX:+UseContainerSupport"
122132

@@ -141,6 +151,9 @@ COPY --from=all-jdk /usr/lib/jvm/${VARIANT_LOWER} /usr/lib/jvm/${VARIANT_LOWER}
141151
ENV JAVA_${VARIANT_UPPER}_HOME=/usr/lib/jvm/${VARIANT_LOWER}
142152
ENV 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.
145158
FROM base AS full
146159

@@ -156,6 +169,9 @@ COPY --from=all-jdk /usr/lib/jvm/ubuntu17 /usr/lib/jvm/ubuntu17
156169
COPY --from=all-jdk /usr/lib/jvm/graalvm17 /usr/lib/jvm/graalvm17
157170
COPY --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+
159175
ENV JAVA_7_HOME=/usr/lib/jvm/7
160176

161177
ENV JAVA_ZULU7_HOME=/usr/lib/jvm/7

0 commit comments

Comments
 (0)