6
6
7
7
RUN ./gradlew copyDockerBuildCtx
8
8
9
+
10
+ # ############################################################
11
+
9
12
# The datastax base image is not multiarch presently, so we use the openjdk
10
13
# image as our base for arm builds instead.
11
14
FROM eclipse-temurin:8-jdk as cass-config-builder
@@ -30,17 +33,23 @@ ENTRYPOINT ["/usr/local/bin/entrypoint"]
30
33
31
34
USER ${USER_UID}
32
35
33
- FROM registry.access.redhat.com/ubi7/ubi-minimal:7.9 AS builder-ubi
36
+ # ############################################################
37
+
38
+ FROM redhat/ubi8-minimal:8.9 AS builder-ubi
34
39
35
40
# Update the builder packages and create user
36
41
RUN microdnf update && rm -rf /var/cache/yum && \
37
- microdnf install shadow-utils && microdnf clean all && \
42
+ microdnf install shadow-utils findutils && microdnf clean all && \
38
43
useradd -r -s /bin/false -U -G root cassandra
39
44
40
- # ############################################################
45
+ COPY --from=builder --chown=cassandra:root build/docker/definitions /definitions
46
+
47
+ RUN find /definitions -type d -exec chmod 0775 {} \;
41
48
42
- FROM registry.access.redhat.com/ubi7/ubi-minimal:7.9 as cass-config-builder-ubi
49
+ # ############################################################
43
50
51
+ # Build the UBI8 image
52
+ FROM redhat/ubi8-minimal:8.9 as cass-config-builder-ubi
44
53
LABEL maintainer="DataStax, Inc <info@datastax.com>"
45
54
LABEL name="cass-config-builder"
46
55
LABEL vendor="DataStax, Inc"
@@ -54,58 +63,20 @@ RUN microdnf update && \
54
63
microdnf install java-1.8.0-openjdk-headless && \
55
64
microdnf clean all
56
65
57
- # Copy user accounts information
58
- COPY --from=builder-ubi /etc/passwd /etc/passwd
59
- COPY --from=builder-ubi /etc/shadow /etc/shadow
60
- COPY --from=builder-ubi /etc/group /etc/group
61
- COPY --from=builder-ubi /etc/gshadow /etc/gshadow
62
-
63
- # Install the uber jar
64
- COPY --from=builder build/docker/*.jar /usr/local/bin/
65
-
66
- # Install definition files
67
- COPY --from=builder build/docker/definitions /definitions
68
-
69
- COPY --from=builder build/docker/bin/* /usr/local/bin/
70
-
71
- COPY --from=builder build/docker/LICENSE /licenses/
72
-
73
- # Fix permissions
74
- RUN chown cassandra:root -Rv /usr/local/bin/* && \
75
- chmod -Rv g+x /usr/local/bin
76
-
77
- USER cassandra:root
78
-
79
- ENV PATH=$PATH:/usr/local/bin
80
-
81
- ENTRYPOINT ["/usr/local/bin/entrypoint" ]
82
-
83
- # Build the UBI8 image
84
- FROM registry.access.redhat.com/ubi8/openjdk-8:1.18 as cass-config-builder-ubi-8
85
- LABEL maintainer="DataStax, Inc <info@datastax.com>"
86
- LABEL name="cass-config-builder"
87
- LABEL vendor="DataStax, Inc"
88
- LABEL release="1.0.0"
89
- LABEL summary="Configuration templating engine for Apache Cassandra®."
90
- LABEL description="Configuration templating engine for Apache Cassandra®. Powers the configuration of containers deployed via the DataStax Kubernetes Operator for Apache Cassandra."
91
-
92
- # Create user
93
- USER root
94
- RUN microdnf install shadow-utils && useradd -r -s /bin/false -U -G root cassandra
66
+ # Copy user account information
67
+ COPY --from=builder-ubi /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/
95
68
96
69
# Install the uber jar
97
- COPY --from=builder build/docker/*.jar /usr/local/bin/
70
+ COPY --from=builder --chown=cassandra:root build/docker/*.jar /usr/local/bin/
98
71
99
72
# Install definition files
100
- COPY --from=builder build/docker/definitions /definitions
101
-
102
- COPY --from=builder build/docker/bin/* /usr/local/bin/
73
+ COPY --from=builder-ubi --chown=cassandra:root /definitions /definitions
103
74
104
- COPY --from=builder build/docker/LICENSE /licenses/
75
+ # Install scripts
76
+ COPY --from=builder --chown=cassandra:root build/docker/bin/* /usr/local/bin/
105
77
106
- # Fix permissions
107
- RUN chown cassandra:root -Rv /usr/local/bin/* && \
108
- chmod -Rv g+x /usr/local/bin
78
+ # Install licenses
79
+ COPY --from=builder --chown=cassandra:root build/docker/LICENSE /licenses/
109
80
110
81
USER cassandra:root
111
82
0 commit comments