K1D77A / cl-docker-containers

Some SBCL docker containers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cl-docker-containers

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.

Container: ghcr.io/k1d77a/sbcl.ql-and-slynk*

sbcl.ql-and-slynk-safe

Configures SBCL to use maximum safety settings.

sbcl.ql-and-slynk-default

Makes no adjustments to SBCLs compilation settings.

Container: ghcr.io/k1d77a/sbcl.ql-slynk-ultralisp*

sbcl.ql-slynk-ultralisp-safe

Configures SBCL to use maximum safety settings.

sbcl.ql-slynk-ultralisp-default

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.

About

Some SBCL docker containers

License:MIT License


Languages

Language:Dockerfile 100.0%