Skip to content
Dockerfile for sbt (Scala build tool)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dockerfile Update default versions and document pushing latest tag (#3) Dec 27, 2018
LICENSE Initial commit Jun 13, 2018


Dockerfile for sbt (Scala build tool)

This is built on top of the openjdk image and takes inspiration from hseeberger/scala-sbt.


Install Docker and pull the image (mozilla/sbt on DockerHub):

docker pull mozilla/sbt

You can then run sbt inside docker to compile code like:

docker run -it --rm mozilla/sbt sbt shell

If you want to execute sbt commands on a project on your local filesystem, you may want to mount the current directory and various local caches as volumes and set the working directory as well:

docker run -it --rm -v ~/.ivy2:/root/.ivy2 -v ~/.sbt:/root/.sbt -v $PWD:/app -w /app mozilla/sbt sbt shell


To build, you need to specify the desired openjdk and sbt versions via --build-arg parameters:

docker build --build-arg OPENJDK_TAG=8u181 --build-arg SBT_VERSION=1.2.7 .

Pushing a new tag to DockerHub

To push and tag a new image with updated versions of openjdk and sbt, you'll need to have a DockerHub account that's a member of the appropriate Mozilla organization and be logged in to DockerHub:

docker login --username=mydockerhubusername

Then use the following recipe to build and push:


docker build \
    --build-arg OPENJDK_TAG=$OPENJDK_TAG \
    --build-arg SBT_VERSION=$SBT_VERSION \
    --tag mozilla/sbt:${OPENJDK_TAG}_${SBT_VERSION} \
    --tag mozilla/sbt:latest \

docker push mozilla/sbt:${OPENJDK_TAG}_${SBT_VERSION}
docker push mozilla/sbt:latest
You can’t perform that action at this time.