
web-build-base 是一个专为网站项目构建流程设计的基础Docker镜像,基于Alpine Linux发行版构建,集成了主流网站开发所需的构建工具链与依赖环境。该镜像旨在提供标准化、一致性的构建环境,消除因开发/部署环境差异导致的"在我这能跑"问题,适用于各类网站项目(前端、静态站点、需编译的后端网站等)的构建阶段。
apk add或自定义Dockerfile扩展工具链,满足特殊项目需求(如添加Java、Go等编译环境)。npm run build)。bash# 拉取最新稳定版 docker pull web-build-base:latest # 拉取特定版本(如Node.js 20.x分支) docker pull web-build-base:node20
4.2.1 本地项目构建(单命令执行)
将宿主机项目目录挂载至容器内,执行构建命令:
bash# 假设项目目录为 ./my-web-project,构建命令为 npm run build docker run -it --rm \ -v $(pwd)/my-web-project:/app \ # 挂载项目目录至容器/app -v $(pwd)/build-cache:/tmp/cache \ # 挂载缓存目录(可选,加速依赖安装) -e NODE_ENV=production \ # 设置环境变量(如生产环境构建) web-build-base:latest \ sh -c "cd /app && npm install && npm run build" # 执行构建流程
4.2.2 docker-compose配置(适合多步骤构建)
创建docker-compose.yml:
yamlversion: '3.8' services: build: image: web-build-base:latest volumes: - ./my-web-project:/app:rw # 项目目录(读写权限) - build-cache:/tmp/cache:rw # 持久化缓存卷 environment: - NODE_VERSION=20.10.0 # 指定Node.js版本(可选,默认LTS) - BUILD_OUTPUT_DIR=/app/dist # 构建输出目录(可选,默认/app/build) command: > sh -c "cd /app && yarn install --cache-folder /tmp/cache/yarn && yarn run build && cp -r ${BUILD_OUTPUT_DIR} /app/built" # 构建后复制输出到宿主机 volumes: build-cache: # 声明缓存卷(持久化,避免每次重建缓存)
启动构建:
bashdocker-compose run --rm build
| 参数名 | 描述 | 默认值 | 可选值示例 |
|---|---|---|---|
NODE_VERSION | 指定Node.js版本 | 20.10.0(LTS) | 18.18.0、21.6.0 |
NODE_ENV | Node.js运行环境 | development | production、test |
BUILD_CACHE_DIR | 构建缓存根目录 | /tmp/cache | /app/.cache |
BUILD_OUTPUT_DIR | 构建结果输出目录 | /app/build | /app/dist、/app/public |
ENABLE_RUBY | 是否启用Ruby环境(静态站点用) | false | true(启用Ruby+gem) |
ENABLE_PYTHON | 是否启用Python环境 | false | true(启用Python3+pip) |
如需添加镜像未预装的工具(如Go编译器),可通过Dockerfile基于本镜像构建自定义镜像:
dockerfile# 自定义镜像 Dockerfile FROM web-build-base:latest # 安装Go 1.21(示例) RUN apk add --no-cache go=1.21.5-r0 && \ go version # 验证安装 # 设置Go环境变量 ENV GOPATH=/go \ PATH=$PATH:/go/bin
构建自定义镜像:
bashdocker build -t my-custom-web-build .
/tmp/cache至宿主机目录或命名卷,避免重复下载依赖(如node_modules),提升构建效率。root用户,如宿主机项目目录权限严格,可通过-u $(id -u):$(id -g)指定用户ID,避免文件权限冲突。node20)而非latest,确保构建环境稳定性。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务