babashka/Dockerfile
Hans Bugge Grathwohl 284c55a295
Dockerfile: Install curl to support babashka.curl (#614)
With the current Ubuntu based docker image it is not possible to use
babashka.curl:

```
> docker run --rm -it borkdude/babashka:0.2.3-SNAPSHOT bb '(-> "https://httpstat.us/200" babashka.curl/get :status)'

----- Error --------------------------------------------------------------------
Type:     java.io.IOException
Message:  Cannot run program "curl": error=2, No such file or directory
Location: <expr>:1:1

----- Context ------------------------------------------------------------------
1: (-> "https://httpstat.us/200" babashka.curl/get :status)
   ^--- Cannot run program "curl": error=2, No such file or directory

----- Stack trace --------------------------------------------------------------
babashka.curl/get - <built-in>
user              - <expr>:1:1
```

After this change it works:

```
> docker run --rm -it hansbugge/babashka bb '(->
"https://httpstat.us/200" babashka.curl/get :status)'
200
```
2020-10-14 17:40:52 +02:00

23 lines
729 B
Docker

FROM clojure:lein-2.9.1 AS BASE
ARG BABASHKA_XMX="-J-Xmx3g"
RUN apt update
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev
WORKDIR "/opt"
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
RUN tar -xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-20.2.0"
ENV JAVA_HOME="/opt/graalvm-ce-java11-20.2.0/bin"
ENV PATH="$JAVA_HOME:$PATH"
ENV BABASHKA_XMX=$BABASHKA_XMX
COPY . .
RUN ./script/uberjar
RUN ./script/compile
FROM ubuntu:latest
RUN apt-get update && apt-get install -y curl \
&& mkdir -p /usr/local/bin
COPY --from=BASE /opt/bb /usr/local/bin/bb
CMD ["bb"]