Skip to content

Commit c440375

Browse files
Update Dockerfiles with new combined image
1 parent 0c39e1c commit c440375

File tree

101 files changed

+2960
-997
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2960
-997
lines changed

target/debian-bookworm-11/lein/Dockerfile

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,48 @@ ENV PATH="${JAVA_HOME}/bin:${PATH}"
66

77
ENV LEIN_VERSION=2.11.2
88
ENV LEIN_INSTALL=/usr/local/bin/
9+
ENV LEIN_ROOT=1
10+
ENV PATH=$PATH:$LEIN_INSTALL
11+
ENV CLOJURE_CLI_VERSION=1.11.1.1435
912

1013
WORKDIR /tmp
1114

12-
# Download the whole repo as an archive
1315
RUN set -eux; \
1416
apt-get update && \
15-
apt-get install -y make gnupg wget && \
17+
apt-get install -y curl make git rlwrap gnupg && \
1618
rm -rf /var/lib/apt/lists/* && \
19+
echo Installing Leiningen && \
1720
mkdir -p $LEIN_INSTALL && \
18-
wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
21+
curl -fsSLO https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
1922
echo "Comparing lein-pkg checksum ..." && \
2023
sha256sum lein-pkg && \
2124
echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \
2225
mv lein-pkg $LEIN_INSTALL/lein && \
2326
chmod 0755 $LEIN_INSTALL/lein && \
2427
export GNUPGHOME="$(mktemp -d)" && \
25-
export FILENAME_EXT=jar && \
2628
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
27-
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
28-
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
29-
echo "Verifying file PGP signature..." && \
30-
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
29+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar && \
30+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar.asc && \
31+
echo "Verifying Leiningen file PGP signature..." && \
32+
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.jar.asc leiningen-$LEIN_VERSION-standalone.jar && \
3133
gpgconf --kill all && \
32-
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
34+
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.jar.asc && \
3335
mkdir -p /usr/share/java && \
34-
mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
35-
apt-get purge -y --auto-remove gnupg wget
36-
37-
ENV PATH=$PATH:$LEIN_INSTALL
38-
ENV LEIN_ROOT 1
36+
mv leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
37+
mkdir -p ~/.lein/ && \
38+
echo Installing tools.deps && \
39+
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_CLI_VERSION.sh && \
40+
sha256sum linux-install-$CLOJURE_CLI_VERSION.sh && \
41+
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_CLI_VERSION.sh" | sha256sum -c - && \
42+
chmod +x linux-install-$CLOJURE_CLI_VERSION.sh && \
43+
./linux-install-$CLOJURE_CLI_VERSION.sh && \
44+
rm linux-install-$CLOJURE_CLI_VERSION.sh && \
45+
clojure -e "(clojure-version)" && \
46+
apt-get purge -y --auto-remove curl gnupg
3947

40-
# Install clojure 1.11.1 so users don't have to download it every time
41-
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \
42-
&& lein deps && rm project.clj
48+
# Docker bug makes rlwrap crash w/o short sleep first
49+
# Bug: https://github.com/moby/moby/issues/28009
50+
# As of 2021-09-10 this bug still exists, despite that issue being closed
51+
COPY rlwrap.retry /usr/local/bin/rlwrap
4352

4453
CMD ["lein", "repl"]

target/debian-bookworm-11/tools-deps/Dockerfile

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,46 @@ ENV JAVA_HOME=/opt/java/openjdk
44
COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME
55
ENV PATH="${JAVA_HOME}/bin:${PATH}"
66

7-
ENV CLOJURE_VERSION=1.11.1.1435
7+
ENV LEIN_VERSION=2.11.2
8+
ENV LEIN_INSTALL=/usr/local/bin/
9+
ENV LEIN_ROOT=1
10+
ENV PATH=$PATH:$LEIN_INSTALL
11+
ENV CLOJURE_CLI_VERSION=1.11.1.1435
812

913
WORKDIR /tmp
1014

11-
RUN \
15+
RUN set -eux; \
1216
apt-get update && \
13-
apt-get install -y curl make git rlwrap && \
17+
apt-get install -y curl make git rlwrap gnupg && \
1418
rm -rf /var/lib/apt/lists/* && \
15-
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \
16-
sha256sum linux-install-$CLOJURE_VERSION.sh && \
17-
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \
18-
chmod +x linux-install-$CLOJURE_VERSION.sh && \
19-
./linux-install-$CLOJURE_VERSION.sh && \
20-
rm linux-install-$CLOJURE_VERSION.sh && \
19+
echo Installing Leiningen && \
20+
mkdir -p $LEIN_INSTALL && \
21+
curl -fsSLO https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
22+
echo "Comparing lein-pkg checksum ..." && \
23+
sha256sum lein-pkg && \
24+
echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \
25+
mv lein-pkg $LEIN_INSTALL/lein && \
26+
chmod 0755 $LEIN_INSTALL/lein && \
27+
export GNUPGHOME="$(mktemp -d)" && \
28+
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
29+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar && \
30+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar.asc && \
31+
echo "Verifying Leiningen file PGP signature..." && \
32+
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.jar.asc leiningen-$LEIN_VERSION-standalone.jar && \
33+
gpgconf --kill all && \
34+
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.jar.asc && \
35+
mkdir -p /usr/share/java && \
36+
mv leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
37+
mkdir -p ~/.lein/ && \
38+
echo Installing tools.deps && \
39+
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_CLI_VERSION.sh && \
40+
sha256sum linux-install-$CLOJURE_CLI_VERSION.sh && \
41+
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_CLI_VERSION.sh" | sha256sum -c - && \
42+
chmod +x linux-install-$CLOJURE_CLI_VERSION.sh && \
43+
./linux-install-$CLOJURE_CLI_VERSION.sh && \
44+
rm linux-install-$CLOJURE_CLI_VERSION.sh && \
2145
clojure -e "(clojure-version)" && \
22-
apt-get purge -y --auto-remove curl
46+
apt-get purge -y --auto-remove curl gnupg
2347

2448
# Docker bug makes rlwrap crash w/o short sleep first
2549
# Bug: https://github.com/moby/moby/issues/28009

target/debian-bookworm-17/lein/Dockerfile

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,49 @@ ENV PATH="${JAVA_HOME}/bin:${PATH}"
66

77
ENV LEIN_VERSION=2.11.2
88
ENV LEIN_INSTALL=/usr/local/bin/
9+
ENV LEIN_ROOT=1
10+
ENV PATH=$PATH:$LEIN_INSTALL
11+
ENV CLOJURE_CLI_VERSION=1.11.1.1435
912

1013
WORKDIR /tmp
1114

12-
# Download the whole repo as an archive
1315
RUN set -eux; \
1416
apt-get update && \
15-
apt-get install -y make gnupg wget && \
17+
apt-get install -y curl make git rlwrap gnupg && \
1618
rm -rf /var/lib/apt/lists/* && \
19+
echo Installing Leiningen && \
1720
mkdir -p $LEIN_INSTALL && \
18-
wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
21+
curl -fsSLO https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
1922
echo "Comparing lein-pkg checksum ..." && \
2023
sha256sum lein-pkg && \
2124
echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \
2225
mv lein-pkg $LEIN_INSTALL/lein && \
2326
chmod 0755 $LEIN_INSTALL/lein && \
2427
export GNUPGHOME="$(mktemp -d)" && \
25-
export FILENAME_EXT=jar && \
2628
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
27-
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
28-
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
29-
echo "Verifying file PGP signature..." && \
30-
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
29+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar && \
30+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar.asc && \
31+
echo "Verifying Leiningen file PGP signature..." && \
32+
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.jar.asc leiningen-$LEIN_VERSION-standalone.jar && \
3133
gpgconf --kill all && \
32-
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
34+
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.jar.asc && \
3335
mkdir -p /usr/share/java && \
34-
mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
35-
apt-get purge -y --auto-remove gnupg wget
36-
37-
ENV PATH=$PATH:$LEIN_INSTALL
38-
ENV LEIN_ROOT 1
39-
40-
# Install clojure 1.11.1 so users don't have to download it every time
41-
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \
42-
&& lein deps && rm project.clj
36+
mv leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
37+
mkdir -p ~/.lein/ && \
38+
echo Installing tools.deps && \
39+
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_CLI_VERSION.sh && \
40+
sha256sum linux-install-$CLOJURE_CLI_VERSION.sh && \
41+
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_CLI_VERSION.sh" | sha256sum -c - && \
42+
chmod +x linux-install-$CLOJURE_CLI_VERSION.sh && \
43+
./linux-install-$CLOJURE_CLI_VERSION.sh && \
44+
rm linux-install-$CLOJURE_CLI_VERSION.sh && \
45+
clojure -e "(clojure-version)" && \
46+
apt-get purge -y --auto-remove curl gnupg
47+
48+
# Docker bug makes rlwrap crash w/o short sleep first
49+
# Bug: https://github.com/moby/moby/issues/28009
50+
# As of 2021-09-10 this bug still exists, despite that issue being closed
51+
COPY rlwrap.retry /usr/local/bin/rlwrap
4352

4453
COPY entrypoint /usr/local/bin/entrypoint
4554

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/sh
2+
3+
# This script works around a Docker bug that prevents rlwrap from starting
4+
# right when a container is first started. It is intended to replace
5+
# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH
6+
# (e.g. /usr/local/bin).
7+
8+
max_tries=100 # 100 tries is ~1 second
9+
try=0
10+
11+
while true; do
12+
# see if rlwrap can start at all
13+
output=$(/usr/bin/rlwrap true 2>&1 >/dev/null)
14+
exit_code=$?
15+
if [ $exit_code -gt 0 ]; then
16+
# it didn't start
17+
try=$((try+1))
18+
if [ $try -gt $max_tries ]; then
19+
# we're at max attempts so output the error and exit w/ the same code
20+
echo "$output" >&2
21+
exit $exit_code
22+
else
23+
# wait a bit and try again
24+
sleep 0.01
25+
fi
26+
else
27+
# rlwrap can start so let's run it for real
28+
exec /usr/bin/rlwrap "$@"
29+
fi
30+
done

target/debian-bookworm-17/tools-deps/Dockerfile

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,46 @@ ENV JAVA_HOME=/opt/java/openjdk
44
COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME
55
ENV PATH="${JAVA_HOME}/bin:${PATH}"
66

7-
ENV CLOJURE_VERSION=1.11.1.1435
7+
ENV LEIN_VERSION=2.11.2
8+
ENV LEIN_INSTALL=/usr/local/bin/
9+
ENV LEIN_ROOT=1
10+
ENV PATH=$PATH:$LEIN_INSTALL
11+
ENV CLOJURE_CLI_VERSION=1.11.1.1435
812

913
WORKDIR /tmp
1014

11-
RUN \
15+
RUN set -eux; \
1216
apt-get update && \
13-
apt-get install -y curl make git rlwrap && \
17+
apt-get install -y curl make git rlwrap gnupg && \
1418
rm -rf /var/lib/apt/lists/* && \
15-
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \
16-
sha256sum linux-install-$CLOJURE_VERSION.sh && \
17-
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \
18-
chmod +x linux-install-$CLOJURE_VERSION.sh && \
19-
./linux-install-$CLOJURE_VERSION.sh && \
20-
rm linux-install-$CLOJURE_VERSION.sh && \
19+
echo Installing Leiningen && \
20+
mkdir -p $LEIN_INSTALL && \
21+
curl -fsSLO https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
22+
echo "Comparing lein-pkg checksum ..." && \
23+
sha256sum lein-pkg && \
24+
echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \
25+
mv lein-pkg $LEIN_INSTALL/lein && \
26+
chmod 0755 $LEIN_INSTALL/lein && \
27+
export GNUPGHOME="$(mktemp -d)" && \
28+
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
29+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar && \
30+
curl -fsSLO https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar.asc && \
31+
echo "Verifying Leiningen file PGP signature..." && \
32+
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.jar.asc leiningen-$LEIN_VERSION-standalone.jar && \
33+
gpgconf --kill all && \
34+
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.jar.asc && \
35+
mkdir -p /usr/share/java && \
36+
mv leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
37+
mkdir -p ~/.lein/ && \
38+
echo Installing tools.deps && \
39+
curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_CLI_VERSION.sh && \
40+
sha256sum linux-install-$CLOJURE_CLI_VERSION.sh && \
41+
echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_CLI_VERSION.sh" | sha256sum -c - && \
42+
chmod +x linux-install-$CLOJURE_CLI_VERSION.sh && \
43+
./linux-install-$CLOJURE_CLI_VERSION.sh && \
44+
rm linux-install-$CLOJURE_CLI_VERSION.sh && \
2145
clojure -e "(clojure-version)" && \
22-
apt-get purge -y --auto-remove curl
46+
apt-get purge -y --auto-remove curl gnupg
2347

2448
# Docker bug makes rlwrap crash w/o short sleep first
2549
# Bug: https://github.com/moby/moby/issues/28009

target/debian-bookworm-21/latest/Dockerfile

Lines changed: 0 additions & 73 deletions
This file was deleted.

target/debian-bookworm-21/latest/entrypoint

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)