是否有用于在Docker上安装cl-json(或其他Quicklisp库)的Dockerfile?我见过的大多数安装说明都要求用户输入没有--noinput标志的命令,这使得很难通过Dockerfile安装。
此外,许多说明显示已过期或引用断开的链接和不存在的资源。使用Dockerfile以一致的方式安装它是很方便的。 Quicklisp。
答案 0 :(得分:2)
这是一个基于SBCL的应用程序的Dockerfile。
FROM dparnell/minimal-sbcl
RUN sbcl --noinform \
--disable-ldb \
--lose-on-corruption \
--eval "(ql:quickload '(buildapp))" \
--eval '(buildapp:build-buildapp "/bin/buildapp")'
RUN buildapp --load /opt/quicklisp/setup.lisp \
--eval "(ql:quickload '(cl-json))" \
--output bin/executable
CMD executable
我的图像基于预装了Quicklisp的dparnell/minimal-sbcl上的图片。
然后我运行一次SBCL来构建buildapp
(这可能是一个单独的泊坞窗图像)。
然后,我运行buildapp
,加载quicklisp/setup.lisp
并安装cl-json
。您可以使用quickload加载任意数量的依赖项,但我建议您定义自己的system.asd
文件并在那里列出依赖项。
答案 1 :(得分:2)
https://lispcookbook.github.io/cl-cookbook/testing.html#continuous-integration
在本教程中,我们使用Gitlab CI和daewok/lisp-devel Docker镜像,其中包含多个Lisp实现和Quicklisp,因此我们可以立即运行lisp和(ql:quickload "cl-json")
。