
unlockprotocol/unlock-dev本镜像是一款专注于开发场景的构建加速工具,核心功能是通过智能缓存构建依赖和Docker中间层,解决频繁构建场景下重复下载依赖、重复执行构建步骤导致的效率问题。适用于需要频繁迭代代码并构建镜像的开发环境,帮助团队减少等待时间,提升开发流畅度。
docker build时,避免每次重构都重新下载依赖bashdocker pull [镜像仓库地址]/dev-image-cache:latest
bashdocker run -d \ --name dev-image-cache \ -p 8080:8080 \ # 缓存服务端口 -v /path/to/local/cache:/app/cache \ # 本地缓存目录映射(持久化缓存数据) -e CACHE_TTL=604800 \ # 缓存过期时间:7天(604800秒) -e CACHE_SIZE_LIMIT=20G \ # 缓存大小限制:20GB -e LOG_LEVEL=info \ # 日志级别:debug/info/warn/error [镜像仓库地址]/dev-image-cache:latest
bashcurl http://localhost:8080/health # 健康检查响应示例:{"status":"healthy","cache_used":"1.2 GB","cache_total":"20 GB","cache_count":42}
yamlversion: '3.8' services: dev-image-cache: image: [镜像仓库地址]/dev-image-cache:latest container_name: dev-image-cache ports: - "8080:8080" volumes: - ./local-cache:/app/cache # 本地缓存目录(建议使用绝对路径) environment: - CACHE_TTL=604800 # 7天缓存有效期 - CACHE_SIZE_LIMIT=15G # 限制缓存总大小为15GB - LOG_LEVEL=info restart: unless-stopped # 确保服务持续运行
启动服务:
bashdocker-compose up -d
bashdocker build \ --cache-from=type=http,url=http://localhost:8080/cache \ # 从缓存服务拉取缓存 --cache-to=type=http,url=http://localhost:8080/cache,mode=max \ # 将新缓存推送到服务 -t my-app:dev .
在docker-compose.yml中添加缓存配置:
yamlversion: '3.8' services: app: build: context: . cache_from: - type: http url: [***] # 缓存服务地址(容器间通信) cache_to: - type: http url: [***] mode: max depends_on: - dev-image-cache # 确保缓存服务先启动 dev-image-cache: image: [镜像仓库地址]/dev-image-cache:latest volumes: - ./cache-data:/app/cache environment: - CACHE_SIZE_LIMIT=10G
| 环境变量 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
CACHE_TTL | 缓存项过期时间(秒) | 604800 (7天) | 正整数(如86400=1天) |
CACHE_SIZE_LIMIT | 缓存总容量限制 | 20G | 带单位字符串(如5G、5000M) |
LOG_LEVEL | 日志输出级别 | info | debug, info, warn, error |
CACHE_BACKEND | 缓存存储后端 | local | local(本地文件), s3(对象存储) |
S3_ENDPOINT | S3后端地址(当使用S3后端时) | - | 如[***] |
S3_ACCESS_KEY | S3访问密钥(当使用S3后端时) | - | S3兼容服务访问密钥 |
S3_SECRET_KEY | S3密钥(当使用S3后端时) | - | S3兼容服务密钥 |
S3_BUCKET | S3存储桶名称(当使用S3后端时) | - | 已创建的S3存储桶名称 |
bashdocker exec dev-image-cache ./cleanup --expired
bashdocker exec dev-image-cache ./cleanup --size-exceeded
A: 首次构建需要完成完整缓存初始化,需执行一次完整构建后,后续构建即可享受缓存加速。
A: 查看构建日志,若出现Using cache或Cache hit字样,表明缓存已生效;或通过curl http://localhost:8080/stats查看缓存命中率。
A: 将CACHE_BACKEND配置为S3兼容对象存储(如MinIO、AWS S3),多台机器连接同一对象存储后端即可实现缓存共享。






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