You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But it's not optimal if you have anything cached in `~/ivy2` which most probably you do if you develop Scala. To benefit from caching; thus reducing startup time, use the following:
24
-
25
-
```
26
-
version: '3.7'
27
-
services:
28
-
sbt:
29
-
image: proteinevolution/toolkit-docker:latest
30
-
volumes:
31
-
- .:/toolkit
32
-
- ~/.ivy2:/root/.ivy2
33
-
- ~/.sbt:/root/.sbt
34
-
- ~/.coursier:/root/.coursier
35
-
```
36
-
37
-
It's still the minimal version; in real project you will probably need to expose ports etc.
38
-
39
-
## Overriding CMD
40
-
41
-
By default (i.e. if you don't provide CMD in your `docker run` or `docker-compose.yml`) it will run sbt's `shell`. It's a reasonable default because from there you can invoke any SBT task you want.
42
-
43
-
If default does not fit your needs then override CMD in either `docker run` or `docker-compose.yml`. Example:
44
-
45
-
```
46
-
docker run -v :.:/toolkit proteinevolution/toolkit-docker:latest projects test:compile
47
-
```
48
-
49
-
Here we also used ability to "chain" sbt commands.
2
+
Dockerfiles for the toolkit's docker images. They should be built automatically by DockerCloud.
Copy file name to clipboardExpand all lines: backend/Dockerfile
+1-51Lines changed: 1 addition & 51 deletions
Original file line number
Diff line number
Diff line change
@@ -2,57 +2,9 @@ FROM hseeberger/scala-sbt:8u212_2.12.8_1.2.8
2
2
3
3
LABEL maintainer="fgabler@tue.mpg.de"
4
4
5
-
# since scala-sbt is based on stretch-scm instead of stretch, install missing packages. see: https://github.com/docker-library/buildpack-deps/blob/d7da72aaf3bb93fecf5fcb7c6ff154cb0c55d1d1/stretch/Dockerfile
6
-
RUN apt-get update && apt-get install -y --no-install-recommends \
7
-
autoconf \
8
-
automake \
9
-
bzip2 \
10
-
file \
11
-
g++ \
12
-
gcc \
13
-
imagemagick \
14
-
libbz2-dev \
15
-
libc6-dev \
16
-
libcurl4-openssl-dev \
17
-
libevent-dev \
18
-
libffi-dev \
19
-
libgeoip-dev \
20
-
libglib2.0-dev \
21
-
libjpeg-dev \
22
-
liblzma-dev \
23
-
libmagickcore-dev \
24
-
libmagickwand-dev \
25
-
libncurses-dev \
26
-
libpng-dev \
27
-
libpq-dev \
28
-
libreadline-dev \
29
-
libsqlite3-dev \
30
-
libssl-dev \
31
-
libtool \
32
-
libwebp-dev \
33
-
libxml2-dev \
34
-
libxslt-dev \
35
-
libyaml-dev \
36
-
make \
37
-
patch \
38
-
xz-utils \
39
-
zlib1g-dev \
40
-
&& rm -rf /var/lib/apt/lists/*
41
-
42
-
# install node and yarn
43
-
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
44
-
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
45
-
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
46
-
RUN apt-get update -qqy && apt-get -qqyy install \
But it's not optimal if you have anything cached in `~/ivy2` which most probably you do if you develop Scala. To benefit from caching; thus reducing startup time, use the following:
24
+
25
+
```
26
+
version: '3.7'
27
+
services:
28
+
sbt:
29
+
image: proteinevolution/toolkit-docker:latest
30
+
volumes:
31
+
- .:/toolkit
32
+
- ~/.ivy2:/root/.ivy2
33
+
- ~/.sbt:/root/.sbt
34
+
- ~/.coursier:/root/.coursier
35
+
```
36
+
37
+
It's still the minimal version; in real project you will probably need to expose ports etc.
38
+
39
+
## Overriding CMD
40
+
41
+
By default (i.e. if you don't provide CMD in your `docker run` or `docker-compose.yml`) it will run sbt's `shell`. It's a reasonable default because from there you can invoke any SBT task you want.
42
+
43
+
If default does not fit your needs then override CMD in either `docker run` or `docker-compose.yml`. Example:
44
+
45
+
```
46
+
docker run -v :.:/toolkit proteinevolution/toolkit-docker:latest projects test:compile
47
+
```
48
+
49
+
Here we also used ability to "chain" sbt commands.
0 commit comments