本Docker镜像专为Haskell代码构建设计,集成Haskell编译器(GHC)及主流构建工具(如Cabal、Stack),提供隔离、统一的Haskell项目构建环境。通过预配置必要的工具链,简化Haskell项目的编译、打包流程,避免因系统依赖差异导致的构建问题,适用于开发、测试及CI/CD场景。
通过docker run启动容器,挂载本地项目目录并执行构建命令:
bash# 示例:使用9.2版本镜像构建Cabal项目 docker run -v $(pwd)/my-haskell-project:/app -w /app haskell-build-image:9.2 cabal build
-v $(pwd)/my-haskell-project:/app:将本地项目目录挂载至容器内/app目录-w /app:设置工作目录为/app(项目根目录)haskell-build-image:9.2:指定镜像及版本标签(标签对应GHC版本)cabal build:构建命令(根据项目工具选择cabal或stack)构建完成后,将产物复制到本地目录:
bash# 示例:构建并导出Cabal产物 docker run -v $(pwd)/my-haskell-project:/app -w /app haskell-build-image:9.2 sh -c "cabal build && cp -r dist-newstyle /app/dist"
创建docker-compose.yml简化构建流程:
yamlversion: '3' services: haskell-builder: image: haskell-build-image:9.2 volumes: - ./my-haskell-project:/app # 挂载项目目录 - ~/.cabal/store:/root/.cabal/store # 挂载Cabal缓存(加速重复构建) working_dir: /app command: cabal build --enable-optimization # 带优化参数的构建命令 environment: - CABAL_UPDATE=true # 构建前更新Cabal包索引(可选)
执行构建:docker-compose up
| 环境变量 | 说明 | 默认值 |
|---|---|---|
HASKELL_VERSION | 指定Haskell版本(需镜像支持对应标签) | 9.2 |
BUILD_TOOL | 构建工具选择(cabal或stack) | cabal |
CABAL_UPDATE | 是否执行cabal update更新包索引 | false |
STACK_RESOLVER | Stack解析器版本(Stack项目使用) | 空 |
| 标签 | 说明 |
|---|---|
latest | 最新稳定GHC版本 |
9.6 | GHC 9.6.x版本 |
9.4 | GHC 9.4.x版本 |
9.2 | GHC 9.2.x版本 |
8.10 | GHC 8.10.x版本(LTS支持) |
~/.cabal/store、~/.stack)可大幅提升重复构建速度。cabal build,Stack项目使用stack build,需根据项目配置调整命令。cabal.project或stack.yaml中GHC版本匹配的镜像标签。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务