1
+
2
+ FROM golang:1.23.6 AS gobuilder
3
+ ENV GOSU_VERSION=1.17
4
+ WORKDIR /go/src/github.com/tianon
5
+ RUN git clone https://github.com/tianon/gosu.git --branch $GOSU_VERSION
6
+ WORKDIR /go/src/github.com/tianon/gosu
7
+ RUN go mod download
8
+ RUN go build
9
+
10
+
1
11
FROM eclipse-temurin:11.0.24_8-jre
2
12
3
13
LABEL maintainer=
"Rodolphe CHAIGNEAU <[email protected] >"
4
14
5
15
ARG WIREMOCK_VERSION=3.12.0
6
16
ENV WIREMOCK_VERSION=$WIREMOCK_VERSION
7
- ENV GOSU_VERSION=1.17
8
17
9
18
WORKDIR /home/wiremock
10
19
20
+ # copy custom build gosu to final image
21
+ COPY --from=gobuilder /go/src/github.com/tianon/gosu/gosu /usr/local/bin/gosu
22
+
11
23
# grab gosu for easy step-down from root
12
24
RUN set -eux; \
13
25
# save list of currently installed packages for later so we can clean up
@@ -23,21 +35,11 @@ RUN set -eux; \
23
35
rm -rf /var/lib/apt/lists/*; \
24
36
\
25
37
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" ; \
26
- wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" ; \
27
- wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" ; \
28
- \
29
- # verify the signature
30
- export GNUPGHOME="$(mktemp -d)" ; \
31
- gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
32
- gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
33
- command -v gpgconf && gpgconf --kill all || :; \
34
- rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
35
- \
38
+ \
36
39
# clean up fetch dependencies
37
40
apt-mark auto '.*' > /dev/null; \
38
41
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
39
42
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
40
- \
41
43
chmod +x /usr/local/bin/gosu; \
42
44
# verify that the binary works
43
45
gosu --version; \
0 commit comments