
drpsychick/dind-buildx本镜像是一个专为CI/CD流程设计的Docker镜像,集成了Docker-in-Docker(dind)、Docker Buildx及常用开发工具(如git、curl、jq等)。其核心用途是在CI环境中提供完整的Docker构建能力,支持多平台镜像构建、容器化应用自动化部署等场景,简化CI流程中的环境配置。
适用于CI流程中触发自动构建Docker镜像(如代码提交后触发构建),无需依赖外部Docker环境。
通过Buildx支持跨架构镜像构建(如x86_64、arm64、ppc64le等),满足多硬件环境部署需求。
需在CI流程中直接运行Docker命令(如镜像推送、容器运行测试)时,可作为执行环境使用。
由于需运行Docker守护进程,需使用--privileged权限(注意:生产环境需评估安全风险):
bashdocker run -d \ --name ci-dind \ --privileged \ -v /var/lib/docker \ # 可选:持久化Docker数据 sickhub/docker-ci-images
bashdocker exec -it ci-dind sh # 验证Docker环境 docker --version # 验证Buildx docker buildx version # 验证工具 git --version && curl --version && jq --version
bash# 进入容器后执行 docker buildx create --name multi-platform-builder --use docker buildx inspect --bootstrap # 启动构建器(首次需下载依赖)
bash# 示例:构建并推送到Docker Hub(需提前登录docker login) docker buildx build \ --platform linux/amd64,linux/arm64 \ -t username/your-image:latest \ --push \ /path/to/Dockerfile
yamlstages: - build build-image: stage: build image: sickhub/docker-ci-images services: - docker:dind # 若需独立dind服务,可配合使用(根据GitLab Runner配置调整) variables: DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "" # 禁用TLS(简化本地通信) script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker buildx create --use - docker buildx build --platform linux/amd64,linux/arm64 -t $CI_REGISTRY_IMAGE:latest --push .
yamlname: Build Multi-Platform Image on: [push] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 # 或直接使用镜像内置buildx with: driver: docker-container # 使用容器化驱动,依赖dind - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: username/your-image:latest platforms: linux/amd64,linux/arm64 # 若直接使用本镜像,可替换为: # image: sickhub/docker-ci-images # entrypoint: ["docker", "buildx", "build"]
本镜像未定义强制环境变量,可根据需求通过-e参数传递自定义变量,常用场景包括:
DOCKER_HOST:指定Docker守护进程地址(默认本地unix:///var/run/docker.sock);BUILDX_PLATFORMS:默认多平台列表(如linux/amd64,linux/arm64);GIT_CONFIG_USER_NAME/GIT_CONFIG_USER_EMAIL:配置git提交用户信息。--privileged模式会赋予容器极高权限,可能导致主机安全风险,生产环境建议通过非特权容器+外部Docker守护进程(如挂载/var/run/docker.sock)替代dind。HTTP_PROXY等环境变量配置网络代理。




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