Browse code
feat: use a multi-stage dockerfile
Ed Langley authored on 30/06/2020 17:34:14
Showing 4 changed files
Showing 4 changed files
... | ... |
@@ -1,4 +1,4 @@ |
1 |
-FROM bitnami/minideb:buster |
|
1 |
+FROM bitnami/minideb:buster AS builder |
|
2 | 2 |
|
3 | 3 |
COPY setup /setup |
4 | 4 |
RUN /setup/apt |
... | ... |
@@ -11,7 +11,15 @@ RUN /setup/checkout |
11 | 11 |
|
12 | 12 |
RUN /setup/build |
13 | 13 |
|
14 |
+FROM bitnami/minideb:buster |
|
15 |
+ |
|
16 |
+RUN apt-get update && apt-get install git |
|
17 |
+COPY setup/install /root/install |
|
14 | 18 |
COPY sbclrc /root/.sbclrc |
19 |
+ |
|
20 |
+COPY --from=builder /sbcl-build /sbcl-build |
|
21 |
+RUN /root/install |
|
22 |
+ |
|
15 | 23 |
RUN /usr/local/bin/sbcl --eval '(ensure-directories-exist (translate-logical-pathname #p"SYS:SITE;"))' --quit |
16 | 24 |
|
17 | 25 |
ENTRYPOINT ["/usr/local/bin/sbcl"] |
... | ... |
@@ -5,15 +5,3 @@ cd /sbcl-build |
5 | 5 |
|
6 | 6 |
apt-get build-dep -y sbcl |
7 | 7 |
./make.sh --fancy --prefix=/usr/local/ --with-sb-linkable-runtime --with-sb-dynamic-core --arch=x86-64 |
8 |
-./install.sh |
|
9 |
- |
|
10 |
-cd /root |
|
11 |
- |
|
12 |
-curl https://beta.quicklisp.org/quicklisp.lisp -Oquicklisp.lisp |
|
13 |
-/usr/local/bin/sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --quit |
|
14 |
-rm quicklisp.lisp |
|
15 |
- |
|
16 |
-rm -rf /sbcl-build |
|
17 |
- |
|
18 |
-/setup/cleanup |
|
19 |
- |
20 | 8 |
new file mode 100755 |
... | ... |
@@ -0,0 +1,18 @@ |
1 |
+#!/usr/bin/env bash |
|
2 |
+set -eu -o pipefail |
|
3 |
+ |
|
4 |
+cd /sbcl-build |
|
5 |
+ |
|
6 |
+./install.sh |
|
7 |
+ |
|
8 |
+cd /root |
|
9 |
+ |
|
10 |
+curl https://beta.quicklisp.org/quicklisp.lisp -Oquicklisp.lisp |
|
11 |
+/usr/local/bin/sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --quit |
|
12 |
+rm quicklisp.lisp |
|
13 |
+ |
|
14 |
+rm -rf /sbcl-build |
|
15 |
+ |
|
16 |
+/setup/cleanup |
|
17 |
+ |
|
18 |
+ |