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 ```
23 lines
729 B
Docker
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"]
|