Use libtbb-dev/libtbb12 packages in Dockerfile-debian, sort packages alphabetically in both Dockerfiles (#7095)
* - Use libtbb-dev in builder stage and libtbb12 package in the runstage instead of building oneTBB v2021.12.0 from source code - Remove wget package from builder stage, because it is not used - Uppercase "FROM ... as" -> "FROM ... AS" to silence a "docker build" warning - Sort packages alphabetically and put them on separate lines for easier comparison * - Fix the warning "FromAsCasing: 'as' and 'FROM' keywords' casing do not match" - Sort packages alphabetically and put them on separate lines for easier comparison * Revert -Wno-stringop-overflow * Update the link to multi staged builds in the comment * Update alpine:3.20.0 -> alpine:3.20.5
This commit is contained in:
parent
3614af7f64
commit
6f235cca15
@ -1,4 +1,4 @@
|
|||||||
FROM alpine:3.20.0 as alpine-mimalloc
|
FROM alpine:3.20.5 AS alpine-mimalloc
|
||||||
|
|
||||||
RUN apk add --no-cache mimalloc
|
RUN apk add --no-cache mimalloc
|
||||||
|
|
||||||
@ -6,15 +6,26 @@ ENV LD_PRELOAD=/usr/lib/libmimalloc.so.2
|
|||||||
ENV MIMALLOC_LARGE_OS_PAGES=1
|
ENV MIMALLOC_LARGE_OS_PAGES=1
|
||||||
|
|
||||||
|
|
||||||
FROM alpine-mimalloc as builder
|
FROM alpine-mimalloc AS builder
|
||||||
ARG DOCKER_TAG
|
ARG DOCKER_TAG
|
||||||
ARG BUILD_CONCURRENCY
|
ARG BUILD_CONCURRENCY
|
||||||
RUN mkdir -p /src && mkdir -p /opt
|
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN mkdir -p /src /opt && \
|
||||||
cmake make git clang libbz2 libxml2 \
|
apk add --no-cache \
|
||||||
boost-dev boost-program_options boost-filesystem boost-iostreams boost-thread \
|
boost-dev \
|
||||||
lua5.4-dev onetbb-dev expat-dev
|
boost-filesystem \
|
||||||
|
boost-iostreams \
|
||||||
|
boost-program_options \
|
||||||
|
boost-thread \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
expat-dev \
|
||||||
|
git \
|
||||||
|
libbz2 \
|
||||||
|
libxml2 \
|
||||||
|
lua5.4-dev \
|
||||||
|
make \
|
||||||
|
onetbb-dev
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
@ -39,16 +50,21 @@ RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \
|
|||||||
rm -rf /src
|
rm -rf /src
|
||||||
|
|
||||||
|
|
||||||
# Multistage build to reduce image size - https://docs.docker.com/engine/userguide/eng-image/multistage-build/#use-multi-stage-builds
|
# Multistage build to reduce image size - https://docs.docker.com/build/building/multi-stage/#use-multi-stage-builds
|
||||||
# Only the content below ends up in the image, this helps remove /src from the image (which is large)
|
# Only the content below ends up in the image, this helps remove /src from the image (which is large)
|
||||||
FROM alpine-mimalloc as runstage
|
FROM alpine-mimalloc AS runstage
|
||||||
|
|
||||||
COPY --from=builder /usr/local /usr/local
|
COPY --from=builder /usr/local /usr/local
|
||||||
COPY --from=builder /opt /opt
|
COPY --from=builder /opt /opt
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
boost-program_options boost-date_time boost-iostreams boost-thread \
|
boost-date_time \
|
||||||
expat lua5.4 onetbb && \
|
boost-iostreams \
|
||||||
|
boost-program_options \
|
||||||
|
boost-thread \
|
||||||
|
expat \
|
||||||
|
lua5.4 \
|
||||||
|
onetbb && \
|
||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
|
|
||||||
RUN /usr/local/bin/osrm-extract --help && \
|
RUN /usr/local/bin/osrm-extract --help && \
|
||||||
@ -60,3 +76,4 @@ RUN /usr/local/bin/osrm-extract --help && \
|
|||||||
WORKDIR /opt
|
WORKDIR /opt
|
||||||
|
|
||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
|
|
||||||
|
@ -1,21 +1,24 @@
|
|||||||
FROM debian:bookworm-slim as builder
|
FROM debian:bookworm-slim AS builder
|
||||||
ARG DOCKER_TAG
|
ARG DOCKER_TAG
|
||||||
ARG BUILD_CONCURRENCY
|
ARG BUILD_CONCURRENCY
|
||||||
RUN mkdir -p /src && mkdir -p /opt
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN mkdir -p /src /opt && \
|
||||||
apt-get -y --no-install-recommends install ca-certificates cmake make git gcc g++ libbz2-dev libxml2-dev wget \
|
apt-get update && \
|
||||||
libzip-dev libboost1.81-all-dev lua5.4 liblua5.4-dev pkg-config -o APT::Install-Suggests=0 -o APT::Install-Recommends=0
|
apt-get -y --no-install-recommends --no-install-suggests install \
|
||||||
|
ca-certificates \
|
||||||
RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \
|
cmake \
|
||||||
ldconfig /usr/local/lib && \
|
g++ \
|
||||||
git clone --branch v2021.12.0 --single-branch https://github.com/oneapi-src/oneTBB.git && \
|
gcc \
|
||||||
cd oneTBB && \
|
git \
|
||||||
mkdir build && \
|
libboost1.81-all-dev \
|
||||||
cd build && \
|
libbz2-dev \
|
||||||
cmake -DTBB_TEST=OFF -DCMAKE_BUILD_TYPE=Release .. && \
|
liblua5.4-dev \
|
||||||
cmake --build . && \
|
libtbb-dev \
|
||||||
cmake --install .
|
libxml2-dev \
|
||||||
|
libzip-dev \
|
||||||
|
lua5.4 \
|
||||||
|
make \
|
||||||
|
pkg-config
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
@ -41,19 +44,24 @@ RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \
|
|||||||
rm -rf /src
|
rm -rf /src
|
||||||
|
|
||||||
|
|
||||||
# Multistage build to reduce image size - https://docs.docker.com/engine/userguide/eng-image/multistage-build/#use-multi-stage-builds
|
# Multistage build to reduce image size - https://docs.docker.com/build/building/multi-stage/#use-multi-stage-builds
|
||||||
# Only the content below ends up in the image, this helps remove /src from the image (which is large)
|
# Only the content below ends up in the image, this helps remove /src from the image (which is large)
|
||||||
FROM debian:bookworm-slim as runstage
|
FROM debian:bookworm-slim AS runstage
|
||||||
|
|
||||||
COPY --from=builder /usr/local /usr/local
|
COPY --from=builder /usr/local /usr/local
|
||||||
COPY --from=builder /opt /opt
|
COPY --from=builder /opt /opt
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||||
libboost-program-options1.81.0 libboost-date-time1.81.0 libboost-iostreams1.81.0 libboost-thread1.81.0 \
|
expat \
|
||||||
expat liblua5.4-0 && \
|
libboost-date-time1.81.0 \
|
||||||
|
libboost-iostreams1.81.0 \
|
||||||
|
libboost-program-options1.81.0 \
|
||||||
|
libboost-thread1.81.0 \
|
||||||
|
liblua5.4-0 \
|
||||||
|
libtbb12 && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
# add /usr/local/lib to ldconfig to allow loading libraries from there
|
# Add /usr/local/lib to ldconfig to allow loading libraries from there
|
||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
|
|
||||||
RUN /usr/local/bin/osrm-extract --help && \
|
RUN /usr/local/bin/osrm-extract --help && \
|
||||||
@ -65,3 +73,4 @@ RUN /usr/local/bin/osrm-extract --help && \
|
|||||||
WORKDIR /opt
|
WORKDIR /opt
|
||||||
|
|
||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user