Skip to content

Commit dc6acde

Browse files
author
Gonzalo Diaz
committed
[CONFIG] [Docker] Ubuntu base image re-rewrite
1 parent c8cf0c2 commit dc6acde

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

Dockerfile

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:22.04 AS init
1+
FROM ubuntu:24.04 AS init
22

33
ENV WORKDIR=/app
44
WORKDIR ${WORKDIR}
@@ -9,18 +9,12 @@ RUN apt-get -y update && \
99

1010
FROM init AS builder
1111

12-
# build tools
12+
ARG DEBIAN_FRONTEND=noninteractive
13+
ENV TZ=Etc/UTC
1314

15+
# build tools
1416
RUN apt-get update && \
15-
apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \
16-
rm -rf /var/lib/apt/lists/*
17-
ADD https://apt.llvm.org/llvm-snapshot.gpg.key llvm-snapshot.gpg.key
18-
RUN apt-key add llvm-snapshot.gpg.key && \
19-
apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy main" && \
20-
apt-get -y update && \
21-
apt-get -y install --no-install-recommends --no-install-suggests clang-format && \
22-
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata && \
23-
apt-get -y install --no-install-recommends --no-install-suggests build-essential cmake g++ make && \
17+
apt-get -y install --no-install-recommends --no-install-suggests build-essential cmake g++ make pkg-config && \
2418
rm -rf /var/lib/apt/lists/*
2519

2620
# vcpkg Package Manager
@@ -64,13 +58,24 @@ FROM builder AS development
6458

6559
FROM builder AS lint
6660

67-
RUN apt-get -y update && \
68-
apt-get -y install --no-install-recommends --no-install-suggests dialog apt-utils && \
69-
apt-get -y install --no-install-recommends --no-install-suggests yamllint && \
70-
apt-get -y install --no-install-recommends --no-install-suggests nodejs npm && \
61+
RUN apt-get update && \
62+
apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \
63+
rm -rf /var/lib/apt/lists/*
64+
ADD https://apt.llvm.org/llvm-snapshot.gpg.key llvm-snapshot.gpg.key
65+
RUN apt-key add llvm-snapshot.gpg.key && \
66+
apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy main" && \
67+
apt-get -y update && \
68+
apt-get -y install --no-install-recommends --no-install-suggests clang-format && \
69+
rm -rf /var/lib/apt/lists/*
70+
71+
ADD https://deb.nodesource.com/setup_22.x nodesource_setup.sh
72+
RUN bash nodesource_setup.sh && \
73+
apt-get -y install --no-install-recommends --no-install-suggests nodejs && \
74+
npm install -g --ignore-scripts markdownlint-cli && \
75+
apt-get -y install --no-install-recommends --no-install-suggests python3 python3-pip && \
76+
pip install --no-cache-dir yamllint && \
7177
apt-get -y install --no-install-recommends --no-install-suggests cppcheck && \
72-
rm -rf /var/lib/apt/lists/* && \
73-
npm install -g --ignore-scripts markdownlint-cli
78+
rm -rf /var/lib/apt/lists/*
7479

7580
# Code source
7681
COPY ./src ${WORKDIR}/src
@@ -99,7 +104,7 @@ COPY --from=builder ${WORKDIR}/build ${WORKDIR}/
99104

100105
CMD ["make", "test"]
101106

102-
FROM ubuntu:22.04 AS production
107+
FROM ubuntu:24.04 AS production
103108

104109
ENV LOG_LEVEL=INFO
105110
ENV BRUTEFORCE=false

0 commit comments

Comments
 (0)