atlassian/pipelines-docker-daemon-tini-init本镜像是专为 Bitbucket Pipelines 环境设计的 Docker-in-Docker (DinD) 解决方案,通过集成 Tini init 进程管理 Docker 守护进程(dockerd),确保在 CI/CD 流程中稳定运行 Docker 服务。其核心目标是为 Bitbucket Pipelines 提供轻量、可靠的 Docker 运行环境,支持镜像构建、容器测试等依赖 Docker 的自动化流程。
docker 命令。docker-compose、ctop 等)运行。在 bitbucket-pipelines.yml 中引用本镜像,并配置 Docker 相关操作:
yamlimage: <镜像名称>:<标签> # 替换为实际镜像名称(如 your-org/bitbucket-dind-tini:latest) pipelines: default: - step: name: 构建并测试 Docker 镜像 services: - docker # 若需额外依赖,可添加(本镜像已内置 Docker 守护进程,通常无需此配置) script: - echo "启动 Docker 守护进程(镜像内置自动启动)" - docker --version # 验证 Docker 环境 - docker build -t my-app:${BITBUCKET_COMMIT} . # 构建应用镜像 - docker run --rm my-app:${BITBUCKET_COMMIT} npm test # 运行容器内测试 # 启用特权模式(必需) privileged: true
若需在本地或其他环境测试,可通过 docker run 命令启动:
bashdocker run -d \ --privileged \ # 必需:Docker 守护进程需要特权模式 --name bitbucket-dind \ -e DOCKER_TLS_CERTDIR="" \ # 禁用 TLS(CI 环境通常无需加密) -e DOCKER_OPTS="--log-level=info" \ # 传递额外参数给 dockerd <镜像名称>:<标签>
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
DOCKER_TLS_CERTDIR | Docker TLS 证书目录,设为空字符串可禁用 TLS(推荐 CI 环境使用) | /certs |
DOCKER_OPTS | 传递给 dockerd 的额外参数(如 --log-level=debug、--registry-mirror) | 空 |
TINI_VERBOSITY | Tini 日志 verbosity 级别(0-3,3 为最详细) | 1 |
TINI_KILL_PROCESS_GROUP | Tini 是否终止整个进程组(1 启用,处理嵌套进程) | 1 |
privileged: true in Pipelines,--privileged in docker run),否则 Docker 守护进程无法启动。TINI_KILL_PROCESS_GROUP 调整信号传播行为。docker system prune 优化中间层镜像占用)。docker:dind 镜像构建,同步官方 Docker 版本更新。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务