
maniator/docker-with-buildxdocker-with-buildx 是一个在 Docker 容器中预装了 Docker Buildx 的镜像。它实现了"Docker-in-Docker"(DinD)模式,将 Buildx 工具直接集成到容器环境中,主要用途是便捷地在隔离环境中运行各类 docker buildx 命令,无需在宿主机系统直接安装 Docker 或 Buildx 依赖。
docker buildx 命令docker buildx 命令(如 build、create、use、inspect 等)通过以下命令可直接在当前目录执行镜像构建,使用默认 Buildx 配置:
bashdocker run --rm \ -e DOCKER_TLS_CERTDIR=/certs \ # 指定 TLS 证书目录(默认配置) -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载宿主机 Docker 套接字,实现与宿主机 Docker 通信 -v $(pwd):$(pwd) -w $(pwd) \ # 挂载当前工作目录到容器内相同路径,并设置为工作目录 maniator/docker-with-buildx \ build . # 执行 Buildx 构建命令(当前目录下的 Dockerfile)
参数说明:
--rm:容器退出后自动删除-e DOCKER_TLS_CERTDIR=/certs:设置 TLS 证书目录环境变量,适配 Docker 安全配置-v /var/run/docker.sock:/var/run/docker.sock:关键挂载项,使容器内的 Docker 客户端能控制宿主机 Docker 守护进程-v $(pwd):$(pwd) -w $(pwd):确保容器内构建上下文与宿主机当前目录一致,避免路径问题若需在多次容器运行间共享 Buildx 配置(如自定义构建器实例),可通过挂载卷持久化配置目录。以下示例创建并使用自定义构建器:
bash# 定义 Buildx 配置存储路径(默认使用宿主机 Docker 配置目录下的 buildx 子目录) DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} BUILDX_DIR="$DOCKER_CONFIG/buildx" mkdir -p $BUILDX_DIR # 确保目录存在
bashdocker run --rm \ -e DOCKER_TLS_CERTDIR=/certs \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $BUILDX_DIR:/env_configs/.docker/buildx \ # 挂载持久化配置目录到容器内 Buildx 配置路径 -v $(pwd):$(pwd) -w $(pwd) \ maniator/docker-with-buildx \ create --driver docker-container --name my_builder --use # 创建名为 my_builder 的构建器并设为默认
bashdocker 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/docker-with-buildx \ --builder=my_builder build . # 指定使用 my_builder 构建器执行构建
说明:通过挂载 $BUILDX_DIR:/env_configs/.docker/buildx,容器内的 Buildx 配置会持久化到宿主机的 $BUILDX_DIR 目录,后续运行容器时可直接复用已创建的构建器(如 my_builder)。
| 环境变量 | 作用 | 默认值 |
|---|---|---|
DOCKER_TLS_CERTDIR | 指定 Docker TLS 证书存储目录 | /certs |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务