dind-buildx 是一个预集成了 buildx 工具的 Docker-in-Docker (DinD) 容器镜像。buildx 是 Docker ***提供的增强型构建工具,支持多平台镜像构建、并行构建、构建缓存优化等高级特性。本镜像将 buildx 直接内置到 DinD 环境中,旨在提供一个隔离、便捷的容器化环境,用于执行各类 docker buildx 命令,简化 Docker 镜像的构建流程。
docker buildx 子命令(如 build、create、use、inspect 等)。通过 docker run 命令启动容器并直接执行 docker buildx 命令。以下示例展示如何构建当前目录的 Dockerfile:
bashdocker run --rm \ -e DOCKER_TLS_CERTDIR=/certs \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd):$(pwd) -w $(pwd) \ maniator/dind-buildx \ build .
--rm:容器退出后自动删除,避免残留临时容器。-e DOCKER_TLS_CERTDIR=/certs:设置 TLS 证书存储目录,确保 Docker 服务安全通信。-v /var/run/docker.sock:/var/run/docker.sock:挂载宿主机 Docker 套接字,使容器内 Docker 客户端可直接调用宿主机 Docker 引擎(轻量级模式,替代完整 DinD 服务)。-v $(pwd):$(pwd) -w $(pwd):挂载当前工作目录到容器内相同路径,并将容器工作目录设为当前目录,确保构建上下文正确。maniator/dind-buildx:镜像名称。build .:要执行的 buildx 命令(构建当前目录的 Dockerfile)。若需在多次运行间共享 buildx 配置(如自定义构建节点、缓存策略),可通过挂载卷持久化 buildx 配置目录。以下示例创建自定义构建节点并复用配置:
bash# 定义 buildx 配置目录路径(默认使用用户 Docker 配置目录下的 buildx 子目录) DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} BUILDX_DIR="$DOCKER_CONFIG/buildx" # 创建目录(若不存在) mkdir -p $BUILDX_DIR
bash# 创建名为 "my_builder" 的构建节点,使用容器化驱动(支持多平台构建),并设为当前节点 docker run --rm \ -e DOCKER_TLS_CERTDIR=/certs \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $BUILDX_DIR:/env_configs/.docker/buildx \ # 挂载配置目录实现持久化 -v $(pwd):$(pwd) -w $(pwd) \ maniator/dind-buildx \ create --driver docker-container --name my_builder --use # 使用 "my_builder" 节点执行构建 docker run --rm \ -e DOCKER_TLS_CERTDIR=/certs \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $BUILDX_DIR:/env_configs/.docker/buildx \ -v $(pwd):$(pwd) -w $(pwd) \ maniator/dind-buildx \ --builder=my_builder build . # 指定使用自定义节点构建
-v $BUILDX_DIR:/env_configs/.docker/buildx:挂载宿主机 buildx 配置目录到容器内,使配置(如构建节点信息)可跨容器实例复用。create --driver docker-container --name my_builder --use:创建构建节点命令,--driver docker-container 启用容器化驱动(支持多平台),--name 定义节点名称,--use 设为当前默认节点。--builder=my_builder:指定使用名为 "my_builder" 的节点执行构建。| 环境变量名 | 说明 | 默认值 |
|---|---|---|
DOCKER_TLS_CERTDIR | TLS 证书存储目录路径 | /certs |
| 挂载路径 | 说明 | 必要性 |
|---|---|---|
/var/run/docker.sock:/var/run/docker.sock | 连接宿主机 Docker 引擎,实现命令执行 | 必需 |
$(pwd):$(pwd) | 挂载构建上下文目录,确保构建文件可访问 | 按需(构建时) |
$BUILDX_DIR:/env_configs/.docker/buildx | 持久化 buildx 配置,共享构建节点信息 | 按需(共享配置时) |
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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