轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
docker/dockerfile
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

dockerfile Docker 镜像下载 - 轩辕镜像

dockerfile 镜像详细信息和使用指南

dockerfile 镜像标签列表和版本信息

dockerfile 镜像拉取命令和加速下载

dockerfile 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

dockerfile
docker/dockerfile

dockerfile 镜像详细信息

dockerfile 镜像标签列表

dockerfile 镜像使用说明

dockerfile 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

这些是官方提供的Dockerfile前端镜像,主要功能是支持通过BuildKit构建Dockerfile,作为构建流程中的关键前端工具,能够有效配合BuildKit提升Dockerfile的构建效率、安全性与灵活性,为开发者提供官方认可的标准化构建方案,适用于各类基于Docker的应用开发与部署场景,确保构建过程的稳定可靠及操作便捷性。
123 收藏0 次下载activedocker镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

dockerfile 镜像详细说明

dockerfile 使用指南

dockerfile 配置说明

dockerfile 官方文档

BuildKit Dockerfile 前端

官方 Dockerfile 前端镜像,支持通过 BuildKit 构建 Dockerfile。

  • 问题反馈:moby/buildkit GitHub 仓库
  • 社区交流:Docker Community Slack 的 #buildkit 频道

标签

最新正式版本

  • 1.19.0, 1.19, 1, latest
  • 1.18.0, 1.18

最新实验版本

  • 1.19.0-labs, 1.19-labs, 1-labs, labs
  • 1.18.0-labs, 1.18-labs

开发构建版本(基于 master 分支)

  • master
  • master-labs

Docker 用户注意事项

如果使用 Docker v18.09 或更高版本,可通过客户端设置 export DOCKER_BUILDKIT=1 启用 BuildKit 模式。
Docker Buildx 则默认启用 BuildKit。

使用外部 Dockerfile 前端

BuildKit 支持从容器镜像动态加载前端。Dockerfile 前端镜像可在 docker/dockerfile 仓库获取。

基本用法

需在 Dockerfile 首行通过 # syntax=docker/dockerfile:<版本> 指定要使用的外部前端镜像,例如:

# syntax=docker/dockerfile:1.3

为什么推荐外部镜像?

BuildKit 内置了 Dockerfile 前端,但建议使用外部镜像,确保所有构建者使用相同版本,且无需等待 BuildKit 或 Docker 引擎更新即可自动获取 bug 修复。

版本渠道

外部镜像分两个渠道:

  • latest:采用语义化版本控制(semver)。
  • labs:版本号为递增数字,可能移除特性而不递增主版本号,建议固定到具体修订版。旧版本仍保证向后兼容。

链接式复制 COPY --link、ADD --link

需将 Dockerfile 版本至少设为 1.4:

# syntax=docker/dockerfile:1.4

功能说明

COPY 或 ADD 命令添加 --link 标志后,文件会作为独立层存在,前序层命令变更时不会导致该层失效。原理是将源文件复制到空目标目录,该目录作为独立层链接到之前的构建状态。

示例

# syntax=docker/dockerfile:1.4
FROM alpine
COPY --link /foo /bar

等效于分别构建两个镜像后合并层:

# 基础镜像构建
FROM alpine

# 独立层构建
FROM scratch
COPY /foo /bar

优势

  • 结合 --cache-from 时,即使前序层变更,仍可复用已构建的 --link 层。
  • 多阶段构建中,COPY --from 不再因前序命令变更而失效,无需重建中间阶段。
  • 基础镜像更新时可直接“重定基础”,无需重新执行完整构建,BuildKit 仅生成包含新旧层的新镜像 manifest。

构建挂载 RUN --mount=...

需将 Dockerfile 版本至少设为 1.2:

# syntax=docker/dockerfile:1.3

RUN --mount 允许构建容器挂载文件、缓存、临时文件系统等,支持多种挂载类型。

type=bind(默认类型)

将上下文或镜像中的目录以只读方式挂载到构建容器,可通过 rw 允许写入(写入数据会被丢弃)。

选项说明
target(必填)挂载路径
source源路径(默认 from 的根目录)
from源所在的构建阶段或镜像(默认上下文)
rw/readwrite允许写入

type=cache

为编译器、包管理器等缓存目录,加速构建。

选项说明
id缓存标识(默认 target 值)
target(必填)挂载路径
ro/readonly只读
sharing缓存共享模式:shared(多写共享)、private(多写新建)、locked(多写排队),默认 shared
from/source缓存基础阶段及子路径(默认空目录)
mode/uid/gid缓存目录的权限、用户/组 ID(默认 0755、0、0)

示例

缓存 Go 依赖:

# syntax=docker/dockerfile:1.3
FROM golang
RUN --mount=type=cache,target=/root/.cache/go-build go build ...

缓存 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(必填)挂载路径
size最大容量限制

type=secret

安全挂载密钥文件(如私钥),避免 baked 进镜像。

选项说明
id密钥 ID(默认目标路径basename)
target挂载路径(默认 /run/secrets/<id>)
required密钥不可用时是否报错(默认 false)
mode/uid/gid密钥文件的权限、用户/组 ID(默认 0400、0、0)

示例:访问 S3

Dockerfile:

# syntax=docker/dockerfile:1.3
FROM python:3
RUN pip install awscli
RUN --mount=type=secret,id=aws,target=/root/.aws/credentials aws s3 cp s3://... ...

构建命令:

$ docker build --secret id=aws,src=$HOME/.aws/credentials .
# 或使用 buildctl
$ buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=. \
  --secret id=aws,src=$HOME/.aws/credentials

type=ssh

通过 SSH 代理访问 SSH 密钥(支持密码短语)。

选项说明
idSSH 代理 socket 或密钥 ID(默认 "default")
target代理 socket 路径(默认 /run/buildkit/ssh_agent.${N})
required密钥不可用时是否报错(默认 false)
mode/uid/gidsocket 文件的权限、用户/组 ID(默认 0600、0、0)

示例:访问 GitLab

Dockerfile:

# 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 [邮箱已删除] 2>&1 | tee /hello

构建步骤:

$ eval $(ssh-agent)  # 启动 SSH 代理
$ ssh-add ~/.ssh/id_rsa  # 添加密钥(输入密码短语)
$ docker build --ssh default=$SSH_AUTH_SOCK .  # 传递代理 socket

网络模式 RUN --network=none|host|default

需将 Dockerfile 版本设为 1.3:

# syntax=docker/dockerfile:1.3

RUN --network 控制命令的网络环境:

  • none:无网络访问(仅 lo 回环,进程隔离)。
  • host:使用主机网络(类似 docker build --network=host,需 network.host 权限)。
  • default:默认网络(不指定时的行为)。

示例:隔离外部依赖

# syntax=docker/dockerfile:1.3
FROM python:3.6
ADD mypackage.tgz wheels/
RUN --network=none pip install --find-links wheels mypackage  # 仅用本地包

Here-Documents(文档内联)

需将 Dockerfile 版本设为 1.4.0 及以上:

# syntax=docker/dockerfile:1.4

支持将后续行作为 RUN 或 COPY 命令的输入,通过分隔符(如 eot)界定内容。

RUN 中的多行脚本

# syntax=docker/dockerfile:1.4
FROM debian
RUN <<eot bash  # 指定解释器 bash
  apt-get update
  apt-get install -y vim
eot  # 分隔符结束

若未指定解释器,默认使用 shell;也可通过 shebang 指定:

# syntax=docker/dockerfile:1.4
FROM python:3.6
RUN <<eot
#!/usr/bin/env python
print("hello world")
eot

COPY 中的内联文件

通过 here-doc 直接传递文件内容,支持变量展开和制表符剥离:

# syntax=docker/dockerfile:1.4
FROM alpine
ARG FOO=bar
COPY <<-eot /app/foo  # "-" 剥离行首制表符
	hello ${FOO}  # 展开变量 FOO(值为 bar)
eot

单引号分隔符(<<-"eot")可禁用变量展开:

# syntax=docker/dockerfile:1.4
FROM alpine
COPY <<-"eot" /app/script.sh  # 保留 ${FOO} 原样
	echo hello ${FOO}
eot
RUN FOO=abc ash /app/script.sh  # 运行时传入 FOO=abc

安全上下文 RUN --security=insecure|sandbox

需使用 labs 渠道版本:

# syntax=docker/dockerfile:1.3-labs

--security=insecure 允许命令以特权模式运行(类似 docker run --privileged),需 security.insecure 权限(启动 buildkitd 时 --allow-insecure-entitlement security.insecure,构建时 --allow security.insecure)。

示例:检查权限

# syntax=docker/dockerfile:1.3-labs
FROM ubuntu
RUN --security=insecure cat /proc/self/status | grep CapEff  # 查看有效 capabilities

输出示例(特权模式下权限全开):

CapEff:	0000003fffffffff
查看更多 dockerfile 相关镜像 →
tonistiigi/dockerfile logo
tonistiigi/dockerfile
by tonistiigi
BuildKit是Moby项目的高效Docker镜像构建工具,提供快速灵活的构建能力,支持增量、并行构建及缓存优化,用于改进Docker构建流程。
3100K+ pulls
上次更新:1 个月前
crazymax/dockerfile logo
crazymax/dockerfile
by crazymax
暂无描述
50K+ pulls
上次更新:25 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.