-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
61 lines (41 loc) · 1.67 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -----------------------------------------------------------------------------
# Stages
# -----------------------------------------------------------------------------
ARG BASE_BUILDER_IMAGE=debian:11.9-slim@sha256:acc5810124f0929ab44fc7913c0ad936b074cbd3eadf094ac120190862ba36c4
ARG BASE_IMAGE=senzing/senzingapi-runtime:3.10.3
# -----------------------------------------------------------------------------
# Stage: builder
# -----------------------------------------------------------------------------
FROM ${BASE_BUILDER_IMAGE} as builder
ENV REFRESHED_AT=2024-06-24
# Install packages via apt.
RUN apt-get update \
&& apt-get -y install \
librdkafka-dev \
cmake \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy files from repository.
COPY ./src /src
# Build code.
WORKDIR /src
RUN cmake -DCMAKE_BUILD_TYPE=Release setup . \
&& make all \
&& make install
HEALTHCHECK CMD [[ -f /src/dist/lib/libg2EncryptDataAES256CBC.so ]] || exit 1
# Output will be in:
# - /src/dist/lib/libg2EncryptDataAES256CBC.so
# - /src/dist/lib/libg2EncryptDataClearText.so
# -----------------------------------------------------------------------------
# Stage: final
# -----------------------------------------------------------------------------
FROM ${BASE_IMAGE} as final
ENV REFRESHED_AT=2024-06-24
LABEL Name="senzing/data-encryption-aes256cbc-sample" \
Maintainer="support@senzing.com" \
Version="2.0.4"
USER 1001
# Copy files from prior step.
COPY --from=builder "/src/dist/lib/libg2EncryptDataAES256CBC.so" "/results/libg2EncryptDataAES256CBC.so"
COPY --from=builder "/src/dist/lib/libg2EncryptDataClearText.so" "/results/libg2EncryptDataClearText.so"
# Output will be in /results