Skip to content

Commit 0a2b5a6

Browse files
authored
Use alpine-based image for Dockerfile: (#325)
- reduce image size 217 Mb vs 544Mb - able to referer local files via volume mountig: `docker run -v $PWD:/w kscript ./clikt-example.kts --count 2 --name Hey`
1 parent 1d1a847 commit 0a2b5a6

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

misc/Dockerfile

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
# Adopted from https://github.com/serandel/kscript-docker/blob/master/Dockerfile
2-
3-
# Alpine had problems with Java and SDKMAN!
4-
# lchmod (file attributes) error: Not supported
5-
# https://bugs.alpinelinux.org/issues/8089
6-
7-
FROM ubuntu:focal
1+
FROM bellsoft/liberica-openjdk-alpine:11
82

93
104

11-
SHELL ["/bin/bash", "-c"]
12-
13-
RUN apt-get update && \
14-
apt-get -y install curl zip unzip && \
15-
rm -rf /var/lib/apt/lists/*
16-
17-
# Install SDKMAN!
18-
RUN curl -s "https://get.sdkman.io" | bash
19-
20-
RUN source /root/.sdkman/bin/sdkman-init.sh && \
21-
sdk install java 11.0.9-zulu && \
22-
sdk install kotlin 1.4.10
23-
# sdk install maven 3.6.0 && \
24-
25-
ARG KSCRIPT_VERSION
26-
ENV KSCRIPT_VERSION=$KSCRIPT_VERSION
27-
28-
## run separately to better use docker build cache
29-
RUN source /root/.sdkman/bin/sdkman-init.sh && \
30-
sdk install kscript $KSCRIPT_VERSION
5+
ARG KSCRIPT_VERSION=3.1.0
6+
ARG KOTLIN_VERSION=1.5.21
7+
8+
RUN cd $(mktemp -d) && \
9+
# Install kscript
10+
wget https://github.com/holgerbrandl/kscript/releases/download/v${KSCRIPT_VERSION}/kscript-${KSCRIPT_VERSION}-bin.zip -q -O - | \
11+
unzip - && \
12+
mv kscript-${KSCRIPT_VERSION}/bin/* /usr/local/bin && \
13+
chmod a+x /usr/local/bin/kscript && \
14+
\
15+
# Install Kotlin
16+
wget https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_VERSION}/kotlin-compiler-${KOTLIN_VERSION}.zip -q -O - | \
17+
unzip - && \
18+
chmod a+x kotlinc/bin/kotlin kotlinc/bin/kotlinc && \
19+
mv kotlinc /opt && \
20+
\
21+
# Install bash
22+
apk add bash && \
23+
\
24+
# Done
25+
rm -rf $PWD
26+
27+
WORKDIR /w
28+
29+
ENTRYPOINT KOTLIN_HOME=/opt/kotlinc \
30+
PATH=/opt/kotlinc/bin:$PATH \
31+
kscript "$0" "$@"
3132

32-
ENTRYPOINT source /root/.sdkman/bin/sdkman-init.sh && /usr/bin/env kscript "$0" "$@"
3333
CMD [ "--help" ]

0 commit comments

Comments
 (0)