本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Clojure是Lisp编程语言的一种方言,是一种强调函数式编程的通用编程语言,运行在Java虚拟机(JVM)、公共语言运行时(CLR)和JavaScript引擎上。与其他Lisp语言一样,Clojure将代码视为数据,并具有宏系统。
本Docker镜像提供了Clojure的容器化环境,支持多种构建工具,可用于快速开发、构建和运行Clojure项目,也可作为构建其他基于Clojure的应用镜像的基础。
amd64、arm64v8、ppc64le、riscv64、s390x等架构clojure:lein-2.8.1),也可使用默认标签(如clojure:lein)注意:本镜像描述长度超过Docker Hub的25000字符限制,因此"支持的标签"列表已被截断。详情请参见GitHub文档。
Clojure有三种主要的项目构建和运行方式:
clojure:lein或clojure:lein-<version>(如clojure:lein-2.8.1)clojure:boot或clojure:boot-<version>clojure:tools-deps或clojure:tools-deps-<version>为现有Leiningen/Clojure项目添加以下Dockerfile:
FROM clojure COPY . /usr/src/app WORKDIR /usr/src/app CMD ["lein", "run"]
构建并运行镜像:
$ docker build -t my-clojure-app . $ docker run -it --rm --name my-running-app my-clojure-app
上述基础示例每次运行都会下载依赖、编译项目,启动较慢。优化版预下载依赖并编译为独立JAR:
FROM clojure RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY project.clj /usr/src/app/ RUN lein deps # 下载依赖(依赖变更时才会重新下载) COPY . /usr/src/app RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar # 编译为独立JAR CMD ["java", "-jar", "app-standalone.jar"]
同样使用上述docker build和docker run命令构建运行。
对于现有Lein/Clojure项目,可直接在容器内编译为JAR:
$ docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app clojure lein uberjar
编译后的JAR文件位于项目的target/uberjar目录。
有关使用Boot和tools-deps的详细说明,请参见官方镜像README。
Clojure镜像提供多种变体,适用于不同场景:
clojure:<version>(默认镜像)这是默认镜像,适用于大多数场景。既可作为临时容器(挂载源码并启动应用),也可作为构建其他镜像的基础。部分标签包含Debian或Ubuntu发行版代号(如bookworm、bullseye、jammy),表示基于相应的发行版构建,适合需要安装额外包的场景。
clojure:<version>-alpine基于Alpine Linux的镜像,体积更小(约5MB基础镜像)。主要适用于对镜像大小有严格要求的场景。注意:Alpine使用musl libc而非glibc,可能与某些依赖glibc的软件不兼容。通常不包含git、bash等额外工具,需在Dockerfile中自行安装。
clojure:<version>-slim精简版镜像,仅包含运行Clojure所需的最小依赖。仅推荐在空间受限且仅部署Clojure镜像的环境中使用,否则建议使用默认镜像。
clojure/目录中找到。library/clojure标签跟踪更新免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429