git.fiddlerwoaroof.com
Browse code

feat: use a multi-stage dockerfile

Ed Langley authored on 30/06/2020 17:34:14
Showing 4 changed files
... ...
@@ -1,2 +1,3 @@
1 1
 .*.sw?
2 2
 *.fasl
3
+quicklisp.lisp
... ...
@@ -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
+