Currently 4 Dockerfiles that build a version of SBCL that preloads certain libraries and configures compilation settings and then changes the sbcl.core file. This is designed to be used with multi stage builds.
They are available @ ghcr.io/k1d77a/
They are currently SBCL version 2.4.5
The Ultralisp versions are updated every 24h.
Configures SBCL to use maximum safety settings.
Makes no adjustments to SBCLs compilation settings.
Configures SBCL to use maximum safety settings.
Makes no adjustments to SBCLs compilation settings.
To grab one from gchr.io
FROM ghcr.io/k1d77a/sbcl.ql-and-slynk-safe:latest AS base
Here is an example of how to use the sbcl.ql-and-slynk-safe in a multi stage build
# syntax=docker/dockerfile:1
FROM ghcr.io/k1d77a/sbcl.ql-and-slynk-safe AS sbcl.with-ultralisp
WORKDIR /root/
COPY --from=sbcl.ql-and-slynk-safe /root/quicklisp /root/quicklisp
COPY my-project.asd ./
RUN sbcl --load "my-project" \
--eval '(ql:quickload (asdf:system-depends-on (asdf:find-system "my-project")))' \
--eval '(slynk-loader:dump-image "my-projects-dependencies")'
Now you can use the SBCL Core file 'my-projects-dependencies' within the multi stage build in order to have a container that has all of the projects dependencies already loaded into SBCL.