本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为 docker/dockerfile 正式发布前的暂存版本(Staging),用于测试和预发布验证。生产环境应使用 Docker Hub 上的正式仓库:docker/dockerfile。
作为 BuildKit 的官方 Dockerfile 前端镜像,提供动态加载能力,支持高级 Dockerfile 语法和构建特性,使 Docker 镜像构建更灵活、高效。
bind、cache、tmpfs、secret、ssh 五种挂载类型,实现依赖缓存、密钥安全管理等功能RUN --network 指令控制单条命令的网络环境(none/host/default)--security=insecure 模式,允许特权操作(需 labs 版本)| 标签 | 说明 | Dockerfile 路径 |
|---|---|---|
1.19.0, 1.19, 1, latest | 1.19 系列稳定版 | dockerfile/1.19.0 |
1.18.0, 1.18 | 1.18 系列稳定版 | dockerfile/1.18.0 |
| 标签 | 说明 | Dockerfile 路径 |
|---|---|---|
1.19.0-labs, 1.19-labs, 1-labs, labs | 1.19 系列实验版 | dockerfile/1.19.0-labs |
| 标签 | 说明 | Dockerfile 路径 |
|---|---|---|
master | master 分支稳定开发版 | dockerfile/master |
master-labs | master 分支实验开发版 | dockerfile/master |
通过环境变量启用 BuildKit 模式:
export DOCKER_BUILDKIT=1 # 客户端设置,仅当前终端生效
Docker Buildx 内置启用 BuildKit,无需额外配置:
docker buildx build . # 直接使用 Buildx 构建
通过 Dockerfile 首行的 # syntax 指令指定本暂存镜像作为前端,格式:
# syntax=docker/dockerfile:<标签> # 例如:# syntax=docker/dockerfile:1.19.0-labs
说明:
1.19.0-labs),正式版需替换为 docker/dockerfile 仓库标签RUN --mount=...)需指定 Dockerfile 版本 ≥1.2(如 # syntax=docker/dockerfile:1.3),支持以下挂载类型:
type=bind(默认类型)绑定构建上下文或其他构建阶段的目录(只读,可通过 rw 选项启用读写)。
| 参数 | 说明 |
|---|---|
target | 必填,挂载路径 |
source | 源路径,默认值为 from 指定阶段的根目录 |
from | 构建阶段或镜像名称,默认值为构建上下文 |
rw/readwrite | 启用读写模式,写入数据构建后会被丢弃 |
type=cache为编译器、包管理器等提供持久化缓存目录,加速构建。
| 参数 | 说明 |
|---|---|
target | 必填,挂载路径 |
id | 缓存标识,默认值为 target 的路径 |
ro/readonly | 只读模式 |
sharing | 缓存共享模式:shared(多写入者共享)、private(独立缓存)、locked(独占锁),默认 shared |
from | 缓存基础阶段,默认空目录 |
source | from 中的子路径,默认根目录 |
mode | 缓存目录权限(八进制),默认 0755 |
uid/gid | 缓存目录所有者 UID/GID,默认 0 |
示例:缓存 Go 依赖
# syntax=docker/dockerfile:1.3 FROM golang RUN --mount=type=cache,target=/root/.cache/go-build go build -o app ./main.go
示例:缓存 apt 包
# syntax=docker/dockerfile:1.3 FROM ubuntu # 配置 apt 保留下载缓存 RUN rm -f /etc/apt/apt.conf.d/docker-clean && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache # 挂载 apt 缓存目录 RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \ apt update && apt-get --no-install-recommends install -y gcc
type=tmpfs挂载临时文件系统,用于临时存储。
| 参数 | 说明 |
|---|---|
target | 必填,挂载路径 |
type=secret安全挂载密钥文件(如 API 密钥、证书),避免密钥嵌入镜像。
| 参数 | 说明 |
|---|---|
id | 密钥标识,默认值为 target 的文件名 |
target | 挂载路径,默认值 /run/secrets/<id> |
required | 密钥不可用时是否报错,默认 false(不报错) |
mode | 密钥文件权限(八进制),默认 0400 |
uid/gid | 密钥文件所有者 UID/GID,默认 0 |
示例:使用 AWS 密钥访问 S3
# syntax=docker/dockerfile:1.3 FROM python:3 RUN pip install awscli # 挂载 AWS 密钥文件到 /root/.aws/credentials RUN --mount=type=secret,id=aws,target=/root/.aws/credentials aws s3 cp s3://my-bucket/file.txt .
构建命令:
docker build --secret id=aws,src=$HOME/.aws/credentials .
type=ssh通过 SSH 代理挂载 SSH 密钥,支持带密码的密钥(需通过 ssh-agent 解锁)。
| 参数 | 说明 |
|---|---|
id | SSH 标识,默认 default |
target | SSH 代理套接字路径,默认 /run/buildkit/ssh_agent.${N} |
required | 密钥不可用时是否报错,默认 false |
mode | 套接字权限(八进制),默认 0600 |
uid/gid | 套接字所有者 UID/GID,默认 0 |
示例:访问 GitLab 私有仓库
# syntax=docker/dockerfile:1.3 FROM alpine RUN apk add --no-cache openssh-client RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan gitlab.com >> ~/.ssh/known_hosts RUN --mount=type=ssh ssh -q -T *** # 验证 SSH 连接
构建命令:
eval $(ssh-agent) # 启动 SSH 代理 ssh-add ~/.ssh/id_rsa # 添加密钥(输入密码解锁) docker build --ssh default=$SSH_AUTH_SOCK . # 挂载 SSH 代理套接字
RUN --network=...)需指定 Dockerfile 版本 ≥1.3(如 # syntax=docker/dockerfile:1.3),控制单条 RUN 命令的网络环境。
| 网络模式 | 说明 |
|---|---|
none | 无网络(仅保留 lo 回环接口,与外部隔离) |
host | 使用主机网络(需 network.host 权限,通过 --allow-insecure-entitlement network.host 启用) |
default | 默认网络(与未指定 --network 效果一致) |
示例:隔离外部网络依赖
# syntax=docker/dockerfile:1.3 FROM python:3.6 ADD mypackage.tgz wheels/ # 提前下载依赖包到构建上下文 RUN --network=none pip install --find-links wheels mypackage # 仅使用本地依赖
RUN --security=...)需使用 labs 通道(如 # syntax=docker/dockerfile:1.3-labs),控制命令的安全模式。
| 参数值 | 说明 |
|---|---|
insecure | 禁用沙箱,以特权模式运行(等效于 docker run --privileged),需 security.insecure 权限 |
sandbox | 默认沙箱模式(无实际效果,显式指定用) |
示例:获取特权能力
# syntax=docker/dockerfile:1.3-labs FROM ubuntu RUN --security=insecure cat /proc/self/status | grep CapEff # 查看有效能力集
构建命令(需 BuildKitd 启用权限):
buildctl build --frontend=dockerfile.v0 \ --local context=. --local dockerfile=. \ --allow-insecure-entitlement security.insecure
需使用 labs 通道(≥1.3.0-labs,如 # syntax=docker/dockerfile:1.3-labs),支持多行命令内联。
语法:
RUN <<<分隔符 [命令] 内联内容... 分隔符
${VAR})和制表符自动剥离(<<-分隔符)#!/usr/bin/env python)指定解释器示例 1:多行 Shell 命令
# syntax=docker/dockerfile:1.3-labs FROM debian RUN <<eot bash apt-get update apt-get install -y vim eot
示例 2:Python 脚本内联
# syntax=docker/dockerfile:1.3-labs FROM python:3.6 RUN <<eot #!/usr/bin/env python print("Hello, Here-Documents!") eot
示例 3:创建文件
# syntax=docker/dockerfile:1.3-labs FROM alpine COPY <<-eot /app/config.txt # "-" 自动剥离内容中的前导制表符 server.port=8080 log.level=info eot
type=cache 缓存 npm/pip/apt 依赖,加速多阶段构建type=secret/ssh 安全挂载密钥,避免硬编码敏感信息--network=none 确保构建不依赖外部网络,提升可重复性--security=insecure 调试需要特权的构建流程(如内核模块加载)docker/dockerfile 的稳定版标签(如 1.19)labs 标签(如 1.19.0-labs)master/master-labs 标签获取最新开发特性| 变量名 | 说明 |
|---|---|
DOCKER_BUILDKIT | Docker 客户端启用 BuildKit:export DOCKER_BUILDKIT=1(v18.09+ 支持) |
syntax 指令格式# syntax=docker/dockerfile:<标签>
<标签>:暂存版镜像标签(如 1.19.0-labs、master),需与镜像拉取标签一致--network=host:需 BuildKitd 启动时添加 --allow-insecure-entitlement network.host,构建时通过 --allow network.host 启用--security=insecure:需 BuildKitd 启动时添加 --allow-insecure-entitlement security.insecure,构建时通过 --allow security.insecure 启用--ssh:带密码的密钥需通过 ssh-agent 解锁,直接挂载 .pem 文件不支持密码保护免费版仅支持 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