重要提示:gitlab/dind 镜像已被官方标记为弃用,且不再提供更新。请立即迁移至 https://hub.docker.com/_/docker%EF%BC%88%60docker:dind%60%EF%BC%89%E4%BB%A5%E8%8E%B7%E5%8F%96%E6%8C%81%E7%BB%AD%E6%94%AF%E6%8C%81%E5%92%8C%E5%AE%89%E5%85%A8%E6%9B%B4%E6%96%B0%E3%80%82
gitlab/dind 是 GitLab 官方曾提供的基于 Docker-in-Docker(DinD)模式的镜像,设计用于在 CI/CD 流水线中实现 Docker 工作流构建。其核心目标是允许用户在构建环境中直接运行 Docker 引擎,从而实现在容器内部构建、测试和推送 Docker 镜像的能力,尤其适用于需要嵌套 Docker 操作的自动化场景。
在未弃用前,该镜像主要包含以下功能:
docker build、docker run、docker push 等)。docker-compose.yml 文件定义和管理多容器应用。原 gitlab/dind 镜像主要适用于以下场景:
gitlab/dind 镜像使用(已弃用,不推荐)警告:以下内容仅作历史参考,该镜像已停止更新,存在安全风险,请勿在生产环境使用。
基础运行命令
bashdocker run --privileged -d gitlab/dind
--privileged:DinD 模式需要特权模式以允许容器内运行 Docker 引擎(安全性注意事项:特权模式会提升容器权限,生产环境需谨慎)。在 GitLab CI/CD 中的配置示例(历史参考)
yaml# .gitlab-ci.yml(历史配置,已不推荐) stages: - build build-docker-image: stage: build image: gitlab/dind services: - docker:dind # 实际应直接使用官方 DinD 服务 script: - docker build -t my-app . - docker push my-app:latest
docker:dind)4.2.1 基础运行命令
bashdocker run --privileged -d \ -v /var/lib/docker \ # 可选:挂载宿主机 Docker 存储目录(提升性能,非必须) -e DOCKER_TLS_CERTDIR=/certs \ # 启用 TLS(推荐安全配置) docker:dind
4.2.2 Docker Compose 配置示例
yaml# docker-compose.yml version: '3' services: dind: image: docker:dind privileged: true environment: - DOCKER_TLS_CERTDIR=/certs volumes: - dind-data:/var/lib/docker # 持久化 Docker 数据 - ./certs:/certs/client # 挂载 TLS 证书目录(供客户端使用) ports: - "2376:2376" # TLS 端口(默认安全端口) volumes: dind-data:
4.2.3 在 GitLab CI/CD 中使用官方 DinD 镜像
yaml# .gitlab-ci.yml(推荐配置) stages: - build variables: DOCKER_HOST: tcp://docker:2376 DOCKER_TLS_CERTDIR: "/certs" DOCKER_DRIVER: overlay2 # 推荐使用 overlay2 存储驱动提升性能 build-docker-image: stage: build image: docker:latest # 使用官方 Docker 客户端镜像 services: - name: docker:dind command: ["--storage-driver", "overlay2"] script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:latest . - docker push $CI_REGISTRY_IMAGE:latest
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DOCKER_TLS_CERTDIR | 指定 TLS 证书存储目录,设为空字符串可禁用 TLS(不推荐) | /certs |
DOCKER_HOST | Docker 守护进程地址(客户端连接使用) | unix:///var/run/docker.sock |
DOCKER_DRIVER | Docker 存储驱动(推荐 overlay2 以提升性能) | 取决于宿主机配置 |
DOCKER_OPTS | 传递给 Docker 守护进程的额外参数(如 --insecure-registry 等) | 无 |
--privileged 标志,会赋予容器接近宿主机的权限,生产环境需严格限制使用范围,并通过网络隔离、资源限制等手段降低风险。/var/lib/docker)优化存储性能。docker:dind 镜像需与客户端镜像版本匹配(如 docker:20.10-dind 对应 docker:20.10 客户端),避免因 API 版本不一致导致问题。gitlab/dind 镜像已停止维护,用户应立即迁移至 Docker 官方 DinD 镜像(docker:dind)。官方镜像提供更完善的安全更新、版本支持和社区维护,且与主流 CI/CD 平台(如 GitLab CI、GitHub Actions)兼容性良好,是 Docker-in-Docker 场景的推荐选择。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务