Wednesday, June 20, 2018

Clojure: create a Clojure docker

Use case: I need to run some Clojure tests that use a library depending on glibc 2.14.
Unfortunately, I use CentOS 6.9 that relies on glibc 2.12, that cannot be updated.
Solution: Use a Docker file to run the Clojure tests.

Source: https://store.docker.com/images/clojure
docker pull clojure
  • Dockerfile
  • FROM clojure
    RUN mkdir -p /usr/src/app
    WORKDIR /usr/src/app
    COPY project.clj /usr/src/app/
    RUN lein deps
    COPY . /usr/src/app
    RUN lein uberjar
    CMD ["lein", "test"]
  • docker.build.sh
  • set -x
    cd ~/av-usage
    cp ~/tmp/clojure/docker/Dockerfile Dockerfile.test
    docker build -f Dockerfile.test -t av-usage-test .
    rm Dockerfile.test
  • docker.run.sh
  • set -x
    docker run -it --rm --name my-av-usage-test av-usage-test