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
将宿主机项目目录挂载至容器内,执行构建命令:
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" # 执行构建流程
创建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 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429