
clfoundation/ecl20.4.24 20.4.24-alpine3.11 20.4.24-alpine3.12 20.4.24-alpine3.13 20.4.24-buster 20.4.24-slim 20.4.24-slim-buster 20.4.24-slim-stretch 20.4.24-stretch21.2.1 21.2.1-alpine3.12 21.2.1-alpine3.13 21.2.1-alpine3.14 21.2.1-bullseye 21.2.1-buster 21.2.1-slim 21.2.1-slim-bullseye 21.2.1-slim-buster 21.2.1-slim-stretch 21.2.1-stretch24.5.10 24.5.10-alpine3.21 24.5.10-alpine3.22 24.5.10-bookworm 24.5.10-bookworm-slim 24.5.10-trixie 24.5.10-trixie-slimlatest
24.5.10linux/amd64来自ECL主页:
ECL(嵌入式Common-Lisp)是X3J13 ANSI规范中描述的Common-Lisp语言的解释器,具有CLOS(Common-Lisp对象系统)、条件、循环等特性,以及C翻译器,可生成独立可执行文件。
ECL支持Linux、FreeBSD、NetBSD、OpenBSD、OS X、Solaris、Windows、iOS和Android等操作系统,可在Intel、Sparc、Alpha、PowerPC和ARM处理器上运行。
DockerfiledockerfileFROM clfoundation/ecl:latest COPY . /usr/src/app WORKDIR /usr/src/app CMD [ "ecl", "--load", "./your-daemon-or-script.lisp" ]
然后可以构建并运行Docker镜像:
console$ docker build -t my-ecl-app $ docker run -it --rm --name my-running-app my-ecl-app
对于许多简单的单文件项目,编写完整的Dockerfile可能不方便。这种情况下,可以直接使用ECL Docker镜像运行Lisp脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app clfoundation/ecl:latest ecl --load ./your-daemon-or-script.lisp
SLIME(Common Lisp开发环境)提供了便捷的Common Lisp开发环境。要使用SLIME开发,首先在容器中启动Swank服务器:
console$ docker run -it --rm --name ecl-slime -p 127.0.0.1:4005:4005 -v /path/to/slime:/usr/src/slime -v "$PWD":/usr/src/app -w /usr/src/app clfoundation/ecl:latest ecl --load /usr/src/slime/swank-loader.lisp --eval '(swank-loader:init)' --eval '(swank:create-server :dont-close t :interface "0.0.0.0")'
然后,在已加载SLIME的Emacs实例中,输入:
emacsM-x slime-connect RET RET RET
此镜像包含从ECL开发者提供的最新源代码版本构建的ECL二进制文件,适用于多种操作系统和架构。
此镜像提供多个变体,分别针对特定使用场景设计。
clfoundation/ecl:<version>这是默认镜像。如果不确定需求,建议使用此版本。它既可作为临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。此外,这些镜像包含ECL源代码(位于/usr/local/src/ecl),以方便交互式开发和探索(Common Lisp的标志性特点)。
部分标签可能包含如trixie或bookworm等名称,这些是Debian发行版的代号,表示镜像基于哪个Debian版本构建。如果镜像需要安装除自带包之外的其他软件包,建议显式指定这些代号,以减少Debian新版本发布时可能出现的兼容性问题。
这些镜像基于buildpack-deps镜像构建,包含大量常用的Debian软件包。
镜像中包含Quicklisp安装程序,位于/usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp。此外,/usr/local/bin/install-quicklisp脚本可使用捆绑的安装程序安装Quicklisp。可通过以下环境变量配置Quicklisp安装:
QUICKLISP_DIST_VERSION:要使用的发行版版本,格式为yyyy-mm-dd。latest表示安装最新版本(默认值)。QUICKLISP_CLIENT_VERSION:要使用的客户端版本,格式为yyyy-mm-dd。latest表示安装最新版本(默认值)。QUICKLISP_ADD_TO_INIT_FILE:若设置为true,将使用(ql:add-to-init-file)向实现的用户初始化文件添加代码,以便启动时加载Quicklisp。默认未设置。此外,这些镜像包含cl-launch,提供统一的Lisp实现运行接口,无需关心具体使用的实现(例如用于统一CI脚本)。
clfoundation/ecl:<version>-slim此镜像不包含默认标签中的通用软件包,仅包含运行ECL所需的最小软件包。除非在仅部署此镜像且有空间限制的环境中使用,否则强烈建议使用此仓库的默认镜像。
clfoundation/ecl:<version>-alpine此镜像基于流行的Alpine Linux项目,可在alpine官方镜像中获取。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此通常能生成更精简的镜像。
当期望最终镜像体积尽可能小时,强烈推荐此变体。需要注意的是,它使用musl libc而非glibc及相关库,因此某些软件可能因libc需求深度而出现问题。但大多数软件无此问题,因此此变体通常是安全选择。有关可能出现的问题及Alpine镜像的优缺点对比,参见此Hacker News评论线程。
为最小化镜像体积,Alpine镜像通常不包含额外相关工具(如git或bash)。若以此镜像为基础,可在自己的Dockerfile中添加所需工具(不熟悉的话,参见alpine镜像描述中的安装示例)。
ECL主要采用GNU LGPL v2+许可证。
用于构建镜像的Dockerfile采用BSD-2-Clause许可证。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能采用其他许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用均符合其中包含的所有软件的相关许可证要求。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务