Skip to content

Commit 9d8d8a9

Browse files
authored
fix(keycloak): avoid glibc conflicts by copying only required shared libs (#332)
## 📝 Description Previously, the entire /usr/lib64 directory was copied from the base image, which caused symbol resolution issues due to overwriting glibc-related files in the final Keycloak image. This change replaces that with explicit COPY commands for only the shared libraries required by the `createdb` binary, preserving the integrity of the runtime environment while still enabling database setup commands. ## ✅ Checklist - [x] I have tested this change - [ ] This change requires documentation update
1 parent ead900c commit 9d8d8a9

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

keycloak/image/Dockerfile

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,23 @@ RUN set -x \
3434
&& chown -R keycloak:keycloak /opt/keycloak
3535

3636
COPY --chown=keycloak:keycloak --from=base /usr/bin/createdb /usr/bin/createdb
37-
COPY --chown=keycloak:keycloak --from=base /usr/lib64/ /usr/lib64/
37+
38+
# libs needed for above libs
39+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libcom_err.so.* /usr/lib64/
40+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libcrypt.so.* /usr/lib64/
41+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libcrypto.so.* /usr/lib64/
42+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libevent-2.1.so.* /usr/lib64/
43+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libgssapi_krb5.so.* /usr/lib64/
44+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libk5crypto.so.* /usr/lib64/
45+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libkeyutils.so.* /usr/lib64/
46+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libkrb5.so.* /usr/lib64/
47+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libkrb5support.so.* /usr/lib64/
48+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/liblber.so.* /usr/lib64/
49+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libldap.so.* /usr/lib64/
50+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libpq.so.* /usr/lib64/
51+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libsasl2.so.* /usr/lib64/
52+
COPY --chown=keycloak:keycloak --from=base /usr/lib64/libssl.so.* /usr/lib64/
53+
3854
COPY --chown=keycloak:keycloak --from=base /app/docker-entrypoint.sh /app/docker-entrypoint.sh
3955
COPY --chown=keycloak:keycloak --from=builder /opt/keycloak/ /opt/keycloak/
4056
COPY --chown=keycloak:keycloak themes/semaphore/ /opt/keycloak/themes/semaphore/

0 commit comments

Comments
 (0)