-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
51 lines (40 loc) · 1.6 KB
/
Dockerfile
File metadata and controls
51 lines (40 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
ARG JDK_VERSION
FROM openjdk:$JDK_VERSION-jdk-slim-buster
# Env variables
ARG JDK_VERSION
ENV JDK_VERSION ${JDK_VERSION:-latest}
ARG DOCKER_VERSION
ARG DOCKER_COMPOSE_VERSION
ARG DOCKER_CONFIG
ENV DOCKER_VERSION ${DOCKER_VERSION:-24.0.6}
ENV DOCKER_COMPOSE_VERSION ${DOCKER_COMPOSE_VERSION:-2.21.0}
ENV DOCKER_CONFIG=${DOCKER_CONFIG:-/usr/local/lib/docker}
ARG KUBECTL_VERSION
ENV KUBECTL_VERSION ${KUBECTL_VERSION:-v1.26.3}
# Install build stuff
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends curl
# Install Docker
RUN set -eux; \
curl -L https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_VERSION.tgz | tar xfzv - --strip-components 1 --directory /usr/local/bin/; \
dockerd --version; \
docker --version
# Install Docker Compose plugin
RUN set -eux; \
mkdir -p $DOCKER_CONFIG/cli-plugins; \
curl -L "https://github.com/docker/compose/releases/download/v$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o $DOCKER_CONFIG/cli-plugins/docker-compose; \
chmod 755 $DOCKER_CONFIG/cli-plugins/docker-compose; \
docker compose version
# Install GnuPG (for signing Maven Central artifacts)
RUN set -eux; \
apt-get install -y --no-install-recommends gnupg
# Install kubectl and kustomize
RUN set -eux; \
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl"; \
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash; \
chmod 750 kubectl kustomize && mv kubectl kustomize bin/
# Clean up
RUN set -eux; \
apt-get clean; \
rm -f /usr/local/openjdk-$JDK_VERSION/src.zip