fix: add C NIF compilation to k8s Dockerfile
Match the root Dockerfile changes: - Add libsnmp-dev build dependency - Add libsnmp40 runtime dependency - Copy c_src and compile C NIF before Elixir compilation - Add TERM=dumb for cross-architecture builds
This commit is contained in:
parent
65f0f23c93
commit
ef8d9199ba
1 changed files with 9 additions and 2 deletions
|
|
@ -22,11 +22,13 @@ ARG RUNNER_IMAGE="docker.io/debian:${DEBIAN_VERSION}"
|
|||
|
||||
FROM ${BUILDER_IMAGE} AS builder
|
||||
ENV MIX_OS_DEPS_COMPILE_PARTITION_COUNT=6
|
||||
# Disable TTY for cross-architecture builds
|
||||
ENV TERM=dumb
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git libsnmp-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# prepare build dir
|
||||
|
|
@ -61,6 +63,11 @@ RUN --mount=type=cache,target=/root/.mix \
|
|||
|
||||
COPY priv priv
|
||||
|
||||
COPY c_src c_src
|
||||
|
||||
# Compile the C NIF before Elixir compilation
|
||||
RUN cd c_src && make
|
||||
|
||||
COPY lib lib
|
||||
|
||||
# Compile the release
|
||||
|
|
@ -83,7 +90,7 @@ FROM ${RUNNER_IMAGE} AS final
|
|||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp libsnmp40 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set the locale
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue