arm64v8/clojureClojure是Lisp编程语言的一种方言,是一门强调函数式编程的通用编程语言。它可运行于Java虚拟机(JVM)、公共语言运行时(CLR)及JavaScript引擎。与其他Lisp语言类似,Clojure将代码视为数据,并具备宏系统。
本镜像为arm64v8架构提供Clojure运行环境,支持多种项目构建工具,适用于Clojure应用的开发、构建与运行。作为官方Clojure镜像的特定架构版本,它提供了一致的开发体验,同时针对arm64v8架构进行了优化。
集成Clojure生态的三大主流构建工具:
作为多架构镜像的一部分,支持以下架构(本镜像专注于arm64v8):
提供多种镜像版本以满足不同场景需求:
通过镜像标签指定构建工具及版本,基础标签格式:
arm64v8/clojure:lein:默认Leiningen版本arm64v8/clojure:boot:默认Boot版本arm64v8/clojure:tools-deps:默认Tools-deps版本arm64v8/clojure:lein-2.8.1适用于简单项目,每次运行时下载依赖并启动:
dockerfileFROM arm64v8/clojure COPY . /usr/src/app WORKDIR /usr/src/app CMD ["lein", "run"]
构建并运行:
bash$ docker build -t my-clojure-app . $ docker run -it --rm --name my-running-app my-clojure-app
缓存依赖以减少启动时间,预编译为独立Jar:
dockerfileFROM arm64v8/clojure RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # 复制依赖文件并缓存 COPY project.clj /usr/src/app/ RUN lein deps # 复制源代码并构建uberjar COPY . /usr/src/app RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar CMD ["java", "-jar", "app-standalone.jar"]
无需编写Dockerfile,直接通过容器编译现有项目:
bash$ docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app arm64v8/clojure lein uberjar
编译结果位于项目的target/uberjar目录。
关于使用Boot和Tools-deps构建工具的详细说明,请参考官方镜像文档。
arm64v8/clojure:<version>)arm64v8/clojure:<version>-slim)arm64v8/clojure:<version>-alpine)完整标签列表请参考官方文档。标签命名规则:
lein、boot、tools-deps-slim、-alpinelein-2.9.10)、Clojure版本、系统版本(如-bookworm)使用本镜像即表示您同意遵守所有包含软件的相关许可条款。

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