Skip to content

Commit c202745

Browse files
authored
Merge pull request #332 from infosiftr/ld.conf.d
Extract files as root and add appropriate "lib" directories to the global libc loading paths
2 parents 0eaa6df + da44a92 commit c202745

File tree

8 files changed

+80
-8
lines changed

8 files changed

+80
-8
lines changed

11/jdk/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -77,6 +82,10 @@ RUN set -eux; \
7782
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
7883
/etc/ca-certificates/update.d/docker-openjdk; \
7984
\
85+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
86+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
87+
ldconfig; \
88+
\
8089
# basic smoke test
8190
javac --version; \
8291
java --version

11/jdk/slim/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -81,6 +86,10 @@ RUN set -eux; \
8186
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
8287
/etc/ca-certificates/update.d/docker-openjdk; \
8388
\
89+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
90+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
91+
ldconfig; \
92+
\
8493
# basic smoke test
8594
javac --version; \
8695
java --version

8/jdk/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -77,6 +82,10 @@ RUN set -eux; \
7782
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
7883
/etc/ca-certificates/update.d/docker-openjdk; \
7984
\
85+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
86+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
87+
ldconfig; \
88+
\
8089
# basic smoke test
8190
javac -version; \
8291
java -version

8/jdk/slim/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -81,6 +86,10 @@ RUN set -eux; \
8186
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
8287
/etc/ca-certificates/update.d/docker-openjdk; \
8388
\
89+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
90+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
91+
ldconfig; \
92+
\
8493
# basic smoke test
8594
javac -version; \
8695
java -version

8/jre/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -77,5 +82,9 @@ RUN set -eux; \
7782
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
7883
/etc/ca-certificates/update.d/docker-openjdk; \
7984
\
85+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
86+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
87+
ldconfig; \
88+
\
8089
# basic smoke test
8190
java -version

8/jre/slim/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -81,5 +86,9 @@ RUN set -eux; \
8186
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
8287
/etc/ca-certificates/update.d/docker-openjdk; \
8388
\
89+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
90+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
91+
ldconfig; \
92+
\
8493
# basic smoke test
8594
java -version

Dockerfile-adopt-linux.template

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -77,6 +82,10 @@ RUN set -eux; \
7782
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
7883
/etc/ca-certificates/update.d/docker-openjdk; \
7984
\
85+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
86+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
87+
ldconfig; \
88+
\
8089
# basic smoke test
8190
javac --version; \
8291
java --version

Dockerfile-adopt-slim.template

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ RUN set -eux; \
5555
rm -rf "$GNUPGHOME"; \
5656
\
5757
mkdir -p "$JAVA_HOME"; \
58-
tar --extract --file openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
58+
tar --extract \
59+
--file openjdk.tgz \
60+
--directory "$JAVA_HOME" \
61+
--strip-components 1 \
62+
--no-same-owner \
63+
; \
5964
rm openjdk.tgz*; \
6065
\
6166
# TODO strip "demo" and "man" folders?
@@ -81,6 +86,10 @@ RUN set -eux; \
8186
chmod +x /etc/ca-certificates/update.d/docker-openjdk; \
8287
/etc/ca-certificates/update.d/docker-openjdk; \
8388
\
89+
# https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472
90+
find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \
91+
ldconfig; \
92+
\
8493
# basic smoke test
8594
javac --version; \
8695
java --version

0 commit comments

Comments
 (0)