Migrate Dockerfile to use a bullseye-based image

Also, some QoL changes on the `Dockerfile`:
- Parametrize GRAALVM_VERSION to make it easier to update
- Remove installing programs already included on base image
- Remove `deps.edn` from `.dockerignore` since it is necessary to build
This commit is contained in:
Thiago Kenji Okada 2021-09-09 17:52:06 -03:00
parent 031080bfba
commit 8c5c1bbe55
3 changed files with 9 additions and 30 deletions

View file

@ -12,7 +12,6 @@ test/
.gitmodules .gitmodules
appveyor.yml appveyor.yml
CHANGES.md CHANGES.md
deps.edn
Dockerfile Dockerfile
LICENSE LICENSE
README.md README.md

View file

@ -1,16 +1,18 @@
FROM clojure:lein-2.9.1 AS BASE FROM clojure:openjdk-11-lein-2.9.6-bullseye AS BASE
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt update RUN apt update
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev sudo RUN apt install --no-install-recommends -yy build-essential zlib1g-dev
WORKDIR "/opt" WORKDIR "/opt"
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
RUN tar -xzf graalvm-ce-java11-linux-amd64-21.2.0.tar.gz ENV GRAALVM_VERSION="21.2.0"
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-java11-linux-amd64-${GRAALVM_VERSION}.tar.gz
RUN tar -xzf graalvm-ce-java11-linux-amd64-${GRAALVM_VERSION}.tar.gz
ARG BABASHKA_XMX="-J-Xmx4500m" ARG BABASHKA_XMX="-J-Xmx4500m"
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-21.2.0" ENV GRAALVM_HOME="/opt/graalvm-ce-java11-${GRAALVM_VERSION}"
ENV JAVA_HOME="/opt/graalvm-ce-java11-21.2.0/bin" ENV JAVA_HOME="/opt/graalvm-ce-java11-${GRAALVM_VERSION}/bin"
ENV PATH="$JAVA_HOME:$PATH" ENV PATH="$JAVA_HOME:$PATH"
ENV BABASHKA_XMX=$BABASHKA_XMX ENV BABASHKA_XMX=$BABASHKA_XMX

View file

@ -12,29 +12,7 @@ if [[ -z "${BABASHKA_MUSL:-}" ]]; then
exit 0 exit 0
fi fi
# This script sets up the latest available musl-tools using apt pinning from Debian bullseye (11). apt-get update -y && apt-get install musl-tools -y
# The one available in stretch (Debian 9) is outdated and this ensures we get the latest improvements
# This explictly installs musl from bullseye and keeps the others at a higher priority
# TODO: remove after clojure image is updated to bullseye
cat >> /etc/apt/sources.list <<eof
deb http://ftp.us.debian.org/debian bullseye main non-free contrib
deb http://non-us.debian.org/debian-non-us bullseye/non-us main contrib non-free
eof
cat >> /etc/apt/preferences <<eof
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
pin: release a=bullseye
pin-priority: 600
eof
apt-get update -y && apt-get install musl-tools/bullseye -y
ZLIB_VERSION="1.2.11" ZLIB_VERSION="1.2.11"