Blog 2019/7/18
<- previous | index | next ->
Create a new minimal Clojure project using leiningen:
$ lein new minimal hello
$ cd hello
Edit project.clj
to look like this:
(defproject hello "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.10.0"]]
:profiles {:dev {:dependencies [[org.clojure/test.check "0.9.0"]]}} :main hello.core)
Edit src/hello/core.clj
to look like this:
(ns hello.core
(:gen-class))
(defn -main []
(println "Hello, clombda!"))
According to this you also need to run this:
$ lein change :main set hello.core
Build a native image:
$ docker run --rm "-v$(pwd):/clj" "-v${HOME}/.m2:/root/.m2" spieden/clombda:latest
Create a Dockerfile:
FROM renanpalmeira/graalvm-alpine
COPY target/clombda/package/clj-native /root/
CMD ["/root/clj-native"]
Build a docker image:
$ docker build -t hello .
Run it:
$ docker run hello
Hello, clombda!