
rancher/dindRancher Docker-in-Docker (DinD) 基础镜像是基于 jpettazo/dind 镜像扩展而来的 Docker 镜像,由 Rancher 维护。该镜像旨在提供容器内运行独立 Docker 守护进程的能力,实现 Docker-in-Docker (DinD) 架构,支持在隔离的容器环境中构建、管理 Docker 容器及镜像。
docker build、docker run、docker push 等命令jpettazo/dind 镜像的核心能力,包含容器内启动 Docker 守护进程的基础架构overlay2、devicemapper 等)--privileged 权限(DinD 架构依赖宿主机内核特性)docker run)bashdocker run -d \ --name rancher-dind \ --privileged \ -p 2376:2376 \ rancherio/docker-dind-base:latest
--privileged:必需参数,授予容器访问宿主机内核功能的权限-p 2376:2376:映射 Docker 守护进程 TLS 端口(非 TLS 端口为 2375,不推荐生产环境使用)--name rancher-dind:指定容器名称,便于管理和操作| 环境变量名 | 描述 | 默认值 |
|---|---|---|
DOCKER_TLS_CERTDIR | Docker TLS 证书存储目录,设为空字符串禁用 TLS(仅测试环境使用) | /certs |
DOCKER_HOST | 容器内 Docker 守护进程连接地址(供内部进程使用) | tcp://0.0.0.0:2376 |
STORAGE_DRIVER | 指定 Docker 存储驱动(如 overlay2、devicemapper) | overlay2 |
DOCKER_OPTS | 传递给 Docker 守护进程的额外参数(如 --log-level=debug) | 空 |
bashdocker run -d \ --name rancher-dind-custom \ --privileged \ -e STORAGE_DRIVER=overlay2 \ -e DOCKER_OPTS="--log-level=info --max-concurrent-downloads=5" \ rancherio/docker-dind-base:latest
通过挂载卷实现容器内 Docker 数据持久化,避免重启后丢失镜像和容器数据:
bashdocker run -d \ --name rancher-dind-persistent \ --privileged \ -v /host/path/docker-data:/var/lib/docker \ rancherio/docker-dind-base:latest
/host/path/docker-data:宿主机持久化存储目录/var/lib/docker:容器内 Docker 守护进程数据根目录yamlversion: '3.8' services: rancher-dind: image: rancherio/docker-dind-base:latest container_name: rancher-dind privileged: true ports: - "2376:2376" environment: - DOCKER_TLS_CERTDIR=/certs - STORAGE_DRIVER=overlay2 - DOCKER_OPTS=--log-level=info volumes: - ./docker-data:/var/lib/docker restart: unless-stopped
--privileged 模式授予容器高权限,生产环境需严格控制容器访问权限,避免运行未授权代码DOCKER_TLS_CERTDIR 配置),禁止使用裸 TCP 连接(2375 端口)overlay2 存储驱动以提升 I/O 性能,避免使用 devicemapper 等低性能驱动(除非有特殊需求)overlay2 要求内核版本 ≥ 4.0)



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