Skip to content

Commit 81f2177

Browse files
committed
Update dockerfiles.
Signed-off-by: Timothy Rule (VM/EMT3) <[email protected]>
1 parent 5ca9ac9 commit 81f2177

File tree

4 files changed

+61
-83
lines changed

4 files changed

+61
-83
lines changed

extra/docker/clang-format/Dockerfile

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ LABEL maintainer="[email protected]"
1919
# Formatting common/yaml.c
2020
#
2121
# For permanent activation of these commands, add the ´export´ and ´alias´
22-
# commands to files ´~/.profile´ and ´~/.bash_alias´ respectivly.
22+
# commands to files ´~/.profile´ and ´~/.bash_alias´ respectively.
2323

2424

2525
# Setup basic environment
2626
# =======================
27-
RUN apt-get -y update; \
27+
RUN set -eux; \
28+
apt-get -y update; \
2829
apt-get -y upgrade; \
2930
apt-get -y install --no-install-recommends \
3031
ca-certificates \
@@ -33,22 +34,18 @@ RUN apt-get -y update; \
3334
gnupg \
3435
less \
3536
software-properties-common \
36-
&& \
37+
wget \
38+
; \
3739
apt-get clean; \
3840
rm -rf /var/lib/apt/lists/*
3941

4042

4143
# Setup CLang Format
4244
# ==================
43-
RUN curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - ; \
44-
add-apt-repository "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main"; \
45-
apt-get -y update; \
46-
apt-get -y install --no-install-recommends \
47-
clang-format-20 \
48-
&& \
49-
apt-get clean; \
50-
rm -rf /var/lib/apt/lists/*; \
51-
ln -s /usr/bin/clang-format-20 /usr/bin/clang-format
45+
RUN set -eux; \
46+
wget https://apt.llvm.org/llvm.sh; \
47+
chmod +x llvm.sh; \
48+
./llvm.sh 20
5249

5350
COPY clang-format /usr/local/etc/clang-format
5451
COPY format.sh /usr/local/bin/format.sh

extra/docker/flatc-builder/Dockerfile

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ FROM debian:bookworm-slim AS builder
1414

1515
# Setup basic GCC and CMAKE toolchains
1616
# ====================================
17-
RUN apt-get -y update; \
17+
RUN set -eux; \
18+
apt-get -y update; \
1819
apt-get -y upgrade; \
1920
apt-get -y install --no-install-recommends \
2021
binutils \
@@ -27,7 +28,7 @@ RUN apt-get -y update; \
2728
git \
2829
less \
2930
make \
30-
&& \
31+
; \
3132
apt-get clean; \
3233
rm -rf /var/lib/apt/lists/*
3334

@@ -36,10 +37,11 @@ RUN apt-get -y update; \
3637
# ================
3738
# https://github.com/google/flatbuffers/archive/refs/tags/v2.0.0.tar.gz
3839
ARG FLATBUFFERS_ARCHIVE_BASE_URL="https://github.com/google/flatbuffers/archive/refs/tags"
39-
ARG FLATBUFFERS_ARCHIVE_TAG="v22.10.26"
40+
ARG FLATBUFFERS_ARCHIVE_TAG="v25.9.23"
4041
ARG FLATBUFFERS_BUILD_TYPE="Release"
4142

42-
RUN curl -fSL "${FLATBUFFERS_ARCHIVE_BASE_URL}/${FLATBUFFERS_ARCHIVE_TAG}.tar.gz" -o flatbuffers.tar.gz \
43+
RUN set -eux; \
44+
curl -fSL "${FLATBUFFERS_ARCHIVE_BASE_URL}/${FLATBUFFERS_ARCHIVE_TAG}.tar.gz" -o flatbuffers.tar.gz \
4345
&& tar xzf flatbuffers.tar.gz \
4446
&& cd flatbuffers-* \
4547
&& cmake -G "Unix Makefiles" \
@@ -58,7 +60,8 @@ RUN curl -fSL "${FLATBUFFERS_ARCHIVE_BASE_URL}/${FLATBUFFERS_ARCHIVE_TAG}.tar.gz
5860
ARG FLATCC_ARCHIVE_BASE_URL="https://github.com/dvidelabs/flatcc/archive/refs/tags"
5961
ARG FLATCC_ARCHIVE_TAG="v0.6.1"
6062

61-
RUN curl -fSL "${FLATCC_ARCHIVE_BASE_URL}/${FLATCC_ARCHIVE_TAG}.tar.gz" -o flatcc.tar.gz \
63+
RUN set -eux; \
64+
curl -fSL "${FLATCC_ARCHIVE_BASE_URL}/${FLATCC_ARCHIVE_TAG}.tar.gz" -o flatcc.tar.gz \
6265
&& tar xzf flatcc.tar.gz \
6366
&& mv flatcc-* flatcc \
6467
&& cd flatcc \
@@ -74,7 +77,8 @@ FROM debian:bookworm-slim
7477

7578
# Setup basic tools
7679
# =================
77-
RUN apt-get -y update; \
80+
RUN set -eux; \
81+
apt-get -y update; \
7882
apt-get -y upgrade; \
7983
apt-get -y install --no-install-recommends \
8084
build-essential \
@@ -85,7 +89,7 @@ RUN apt-get -y update; \
8589
libmsgpack-dev \
8690
make \
8791
zip \
88-
&& \
92+
; \
8993
apt-get clean; \
9094
rm -rf /var/lib/apt/lists/*
9195

@@ -112,6 +116,3 @@ RUN tar xzf flatcc.tar.gz \
112116
&& mkdir -p /usr/local/src \
113117
&& mv flatcc-* /usr/local/src/flatcc \
114118
&& rm flatcc.tar.gz
115-
116-
117-
# CMD ["/bin/bash", "-c", "tail /dev/null -f"]

extra/docker/gcc-builder/Dockerfile

Lines changed: 14 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@ LABEL maintainer="[email protected]"
88

99
# Setup basic GCC and CMAKE toolchains
1010
# ====================================
11-
RUN apt-get -y update; \
11+
RUN set -eux; \
12+
apt-get -y update; \
1213
apt-get -y upgrade; \
1314
apt-get -y install --no-install-recommends \
1415
autoconf \
1516
automake \
1617
binutils \
1718
build-essential \
1819
ca-certificates \
20+
ccache \
21+
cmake \
1922
extra-cmake-modules \
2023
curl \
2124
gdb \
@@ -33,49 +36,25 @@ RUN apt-get -y update; \
3336
redis \
3437
valgrind \
3538
zip \
36-
&& \
39+
; \
3740
apt-get clean; \
3841
rm -rf /var/lib/apt/lists/*
3942

40-
# Install CMake.
41-
RUN curl -fSL https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-linux-x86_64.sh \
42-
-o /tmp/cmake-install.sh \
43-
&& chmod u+x /tmp/cmake-install.sh \
44-
&& /tmp/cmake-install.sh --skip-license --prefix=/usr/local \
45-
&& rm /tmp/cmake-install.sh
4643

47-
# Install CMocka.
48-
RUN curl -fSL https://git.cryptomilk.org/projects/cmocka.git/snapshot/cmocka-1.1.7.tar.gz \
49-
-o /tmp/cmocka-1.1.7.tar.gz \
50-
&& cd /tmp; tar xzf /tmp/cmocka-1.1.7.tar.gz \
51-
&& cd /tmp/cmocka-1.1.7 \
44+
# Install CMocka
45+
# ==============
46+
ARG CMOCKA_VERSION=1.1.8
47+
RUN set -eux; \
48+
curl -fSL https://git.cryptomilk.org/projects/cmocka.git/snapshot/cmocka-${CMOCKA_VERSION}.tar.gz \
49+
-o /tmp/cmocka-${CMOCKA_VERSION}.tar.gz \
50+
&& cd /tmp; tar xzf /tmp/cmocka-${CMOCKA_VERSION}.tar.gz \
51+
&& cd /tmp/cmocka-${CMOCKA_VERSION} \
5252
&& mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr .. \
5353
&& make; make install \
54-
&& cd /tmp; rm -rf cmocka-1.1.7; rm /tmp/cmocka-1.1.7.tar.gz
55-
56-
57-
FROM base AS ccache
58-
59-
ARG CCACHE_VERSION=4.6.1
60-
61-
# Build Ccache
62-
# ============
63-
RUN curl -fSL https://github.com/ccache/ccache/archive/refs/tags/v${CCACHE_VERSION}.tar.gz -o ccache-${CCACHE_VERSION}.tar.gz \
64-
&& tar xvzf ccache-${CCACHE_VERSION}.tar.gz \
65-
&& cd ccache-${CCACHE_VERSION} \
66-
&& mkdir build; cd build \
67-
&& cmake \
68-
-DCMAKE_BUILD_TYPE=Release \
69-
-DHIREDIS_FROM_INTERNET=ON \
70-
-DZSTD_FROM_INTERNET=ON \
71-
.. \
72-
&& make; make install; which ccache
73-
54+
&& cd /tmp; rm -rf cmocka-${CMOCKA_VERSION}; rm /tmp/cmocka-${CMOCKA_VERSION}.tar.gz
7455

7556

7657
# =========================
7758
# Construct the final image
7859
# =========================
7960
FROM base AS final
80-
81-
COPY --from=ccache /usr/local/bin/ccache /usr/local/bin/ccache
Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
FROM python:3.8.12-slim-bookworm
1+
FROM python:3.11-slim-bookworm
22
LABEL maintainer="[email protected]"
33

44

55
# Setup basic tools
66
# =================
7-
RUN apt-get -y update; \
8-
apt-get -y upgrade; \
9-
apt-get -y install --no-install-recommends \
7+
RUN set -eux; \
8+
dpkg --add-architecture i386; \
9+
apt-get update; \
10+
apt-get upgrade; \
11+
apt-get install -y --no-install-recommends \
1012
build-essential \
1113
ca-certificates \
1214
cargo \
@@ -15,14 +17,17 @@ RUN apt-get -y update; \
1517
git \
1618
gnupg \
1719
less \
20+
libc6-dbg \
21+
libc6-dbg:i386 \
1822
lsb-release \
1923
make \
2024
python3-dev \
2125
redis-tools \
2226
unzip \
2327
valgrind \
28+
wget \
2429
zip \
25-
&& \
30+
; \
2631
apt-get clean; \
2732
rm -rf /var/lib/apt/lists/*
2833

@@ -35,11 +40,12 @@ ENV PATH="/opt/venv/bin:$PATH"
3540

3641
# Python Libraries
3742
# ================
38-
RUN pip install --upgrade pip; pip install \
43+
RUN set -eux; \
44+
pip install --upgrade pip; pip install \
3945
aiodocker \
40-
flatbuffers==1.12 \
41-
grpcio==1.37.1 \
42-
grpcio-tools==1.37.1 \
46+
flatbuffers \
47+
grpcio \
48+
grpcio-tools \
4349
msgpack \
4450
numpy \
4551
pip-licenses \
@@ -49,7 +55,7 @@ RUN pip install --upgrade pip; pip install \
4955
redis \
5056
twine \
5157
wheel \
52-
&& \
58+
; \
5359
pip list; pip-licenses
5460

5561

@@ -58,19 +64,14 @@ RUN pip install --upgrade pip; pip install \
5864
COPY pip.conf /etc/pip.conf
5965

6066

61-
# Docker CLI
62-
# ==========
63-
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
64-
&& \
65-
echo\
66-
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
67-
https://download.docker.com/linux/debian \
68-
$(lsb_release -cs) stable" \
69-
| tee /etc/apt/sources.list.d/docker.list > /dev/null
70-
RUN apt-get -y update; \
71-
apt-get -y upgrade; \
72-
apt-get -y install --no-install-recommends \
73-
docker-ce-cli \
74-
&& \
75-
apt-get clean; \
76-
rm -rf /var/lib/apt/lists/*
67+
# Install Valgrind 3.25.1
68+
# =======================
69+
RUN set -eux; \
70+
wget https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2; \
71+
tar -xjf valgrind-3.25.1.tar.bz2; \
72+
cd valgrind-3.25.1; \
73+
./configure --prefix=/usr; \
74+
make; \
75+
make install; \
76+
cd .. ; \
77+
rm -rf valgrind-3.25.1 valgrind-3.25.1.tar.bz2

0 commit comments

Comments
 (0)