Dockerfile for sbt (Scala build tool)
Перейти к файлу
Craig Buchanan d77cc86f0f
adding WORKDIR /app (#32)
Co-authored-by: Craig Buchanan <craig.buchanan@choa.org>
2022-04-21 17:02:12 -04:00
CODE_OF_CONDUCT.md Add Mozilla Code of Conduct file (#5) 2020-02-14 08:56:34 -05:00
Dockerfile adding WORKDIR /app (#32) 2022-04-21 17:02:12 -04:00
LICENSE Initial commit 2018-06-13 15:54:31 -07:00
README.md Java 11.0.13, SBT 1.6.2 (#27) 2022-03-24 16:51:48 -04:00

README.md

docker-sbt

Dockerfile for sbt (Scala build tool)

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

Usage

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

Building

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

docker build --build-arg OPENJDK_TAG=11.0.13 --build-arg SBT_VERSION=1.6.2 .

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:

OPENJDK_TAG=11.0.13
SBT_VERSION=1.6.2

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