Skip to content

Commit 2e6a75e

Browse files
authored
Install packages at beginning of Docker build (#1644)
1 parent 5f88b6d commit 2e6a75e

2 files changed

Lines changed: 38 additions & 55 deletions

File tree

.github/renovate.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,19 @@
3838
},
3939
{
4040
"fileMatch": ["src/main/resources/ath-container/Dockerfile"],
41-
"matchStrings": ["ENV GECKODRIVER_VERSION=(?<currentValue>.*?)\n"],
41+
"matchStrings": ["ARG GECKODRIVER_VERSION=(?<currentValue>.*?)\n"],
4242
"depNameTemplate": "mozilla/geckodriver",
4343
"datasourceTemplate": "github-releases"
4444
},
4545
{
4646
"fileMatch": ["src/main/resources/ath-container/Dockerfile"],
47-
"matchStrings": ["ENV MAVEN_VERSION=(?<currentValue>.*?)\n"],
47+
"matchStrings": ["ARG MAVEN_VERSION=(?<currentValue>.*?)\n"],
4848
"depNameTemplate": "org.apache.maven:maven-core",
4949
"datasourceTemplate": "maven"
5050
},
5151
{
5252
"fileMatch": ["src/main/resources/ath-container/Dockerfile"],
53-
"matchStrings": ["DOCKER_VERSION=(?<currentValue>.*?)\n"],
53+
"matchStrings": ["ARG DOCKER_VERSION=(?<currentValue>.*?)\n"],
5454
"depNameTemplate": "docker",
5555
"datasourceTemplate": "docker"
5656
}

src/main/resources/ath-container/Dockerfile

Lines changed: 35 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,54 @@
44

55
FROM ubuntu:24.04
66

7-
# hadolint ignore=DL3008
8-
RUN apt-get update && \
9-
apt-get install -y --no-install-recommends \
10-
gpg-agent \
11-
software-properties-common \
12-
&& \
13-
apt-get clean all && rm -rf /var/cache/apt
14-
157
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
168

179
# hadolint ignore=DL3008
18-
RUN apt-get update && \
19-
DEBIAN_FRONTEND=noninteractive \
20-
TZ=Etc/UTC \
21-
apt-get install -y --no-install-recommends \
22-
# docker dep
23-
ca-certificates \
24-
gnupg \
25-
lsb-release \
26-
curl \
27-
git \
28-
imagemagick \
29-
iptables \
30-
unzip \
31-
tightvncserver \
32-
openjdk-17-jdk \
33-
openjdk-21-jdk \
34-
xfonts-base \
35-
openssh-client \
36-
jq \
37-
&& \
38-
apt-get clean all && rm -rf /var/cache/apt
10+
RUN apt-get update \
11+
&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
12+
ca-certificates \
13+
curl \
14+
git \
15+
imagemagick \
16+
jq \
17+
lsb-release \
18+
openjdk-17-jdk \
19+
openjdk-21-jdk \
20+
openssh-client \
21+
tightvncserver \
22+
unzip \
23+
xfonts-base \
24+
&& apt-get clean \
25+
&& rm -rf /var/lib/apt/lists/*
3926

4027
# Install a fixed firefox version that is known to work with the current selenium version, copied from https://support.mozilla.org/en-US/kb/install-firefox-linux
4128
ARG FIREFOX_VERSION=123.0.1
42-
RUN install -d -m 0755 /etc/apt/keyrings \
29+
RUN install -m 0755 -d /etc/apt/keyrings \
4330
&& curl -fsSL https://packages.mozilla.org/apt/repo-signing-key.gpg -o /etc/apt/keyrings/packages.mozilla.org.asc \
4431
&& printf 'deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main\n' > /etc/apt/sources.list.d/mozilla.list \
4532
&& printf 'Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000\n' > /etc/apt/preferences.d/mozilla \
4633
&& apt-get update \
47-
&& apt-get install -y --no-install-recommends "firefox=${FIREFOX_VERSION}~build*" \
34+
&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
35+
firefox="${FIREFOX_VERSION}*" \
36+
&& apt-get clean \
37+
&& rm -rf /var/lib/apt/lists/*
38+
39+
# Docker installation according to https://docs.docker.com/engine/install/ubuntu/
40+
ARG DOCKER_BUILDX_VERSION=0.16.1
41+
ARG DOCKER_VERSION=27.1.1
42+
RUN install -m 0755 -d /etc/apt/keyrings \
43+
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \
44+
&& printf 'deb [arch=%s signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu %s stable\n' "$(dpkg --print-architecture)" "$(lsb_release -cs)" > /etc/apt/sources.list.d/docker.list \
45+
&& apt-get update \
46+
&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
47+
docker-buildx-plugin="${DOCKER_BUILDX_VERSION}*" \
48+
docker-ce="5:${DOCKER_VERSION}*" \
49+
docker-ce-cli="5:${DOCKER_VERSION}*" \
4850
&& apt-get clean \
4951
&& rm -rf /var/lib/apt/lists/*
5052

5153
# Selenium needs a geckodriver in order to work properly
52-
ENV GECKODRIVER_VERSION=0.34.0
54+
ARG GECKODRIVER_VERSION=0.34.0
5355
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
5456
if [ "$arch" = "arm64" ] ; \
5557
then \
@@ -61,31 +63,12 @@ RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
6163
fi
6264

6365
# Maven in repo is not new enough for ATH
64-
ENV MAVEN_VERSION=3.9.8
66+
ARG MAVEN_VERSION=3.9.8
6567
RUN curl -ffSLO https://archive.apache.org/dist/maven/maven-3/"${MAVEN_VERSION}"/binaries/apache-maven-"${MAVEN_VERSION}"-bin.tar.gz && \
6668
tar -xvzf apache-maven-"${MAVEN_VERSION}"-bin.tar.gz -C /opt/ && \
6769
mv /opt/apache-maven-* /opt/maven
6870
ENV PATH="$PATH:/opt/maven/bin"
6971

70-
# Docker installation according to https://docs.docker.com/engine/install/ubuntu/
71-
RUN mkdir -p /etc/apt/keyrings && chmod 0755 /etc/apt/keyrings /etc/apt/ /etc
72-
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
73-
74-
RUN echo \
75-
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
76-
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
77-
78-
# Ensure that version is fixed
79-
ARG DOCKER_VERSION=27.1.1
80-
ARG DOCKER_BUILDX_VERSION=0.16.1
81-
RUN apt-get update --quiet \
82-
&& apt-get install --yes --no-install-recommends \
83-
docker-ce="5:${DOCKER_VERSION}*" \
84-
docker-ce-cli="5:${DOCKER_VERSION}*" \
85-
docker-buildx-plugin="${DOCKER_BUILDX_VERSION}*" \
86-
&& apt-get clean \
87-
&& rm -rf /var/cache/apt
88-
8972
ENV SHARED_DOCKER_SERVICE true
9073

9174
# Allow injecting uid and git to match directory ownership

0 commit comments

Comments
 (0)