
sirech/dind-ruby本镜像为Docker-in-Docker(DinD)镜像,已预装Ruby运行环境,专为CI/CD场景设计,提供在隔离容器环境中运行Docker命令和Ruby工具的能力。
核心用于在CI/CD流水线中执行ServerSpec测试。ServerSpec是基于Ruby的服务器配置测试框架,需Ruby环境支持;而Docker-in-Docker特性则允许在容器内构建、运行和测试其他Docker容器,满足自动化测试对容器化环境的依赖需求。
docker build、docker run等Docker命令,无需依赖宿主机Docker环境。gem管理Ruby包,无需额外配置Ruby开发环境,简化ServerSpec等Ruby工具的使用流程。运行本镜像需满足:
--privileged标志,以确保Docker-in-Docker所需的系统权限。bash# 后台运行DinD容器 docker run --privileged -d --name dind-ruby-test sirech/dind-ruby # 进入容器验证环境 docker exec -it dind-ruby-test /bin/bash # 在容器内验证Docker和Ruby环境 docker --version # 检查Docker版本 ruby --version # 检查Ruby版本 gem --version # 检查gem版本
在.github/workflows/test.yml中配置:
yamlname: ServerSpec Test on: [push] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Run ServerSpec with dind-ruby uses: docker/setup-qemu-action@v3 with: image: sirech/dind-ruby options: --privileged run: | gem install serverspec # 安装ServerSpec(如镜像未预装) rspec spec/ # 执行测试用例
--privileged标志会赋予容器较高系统权限,建议仅在可信环境中使用,避免运行未知或不受信代码。bashdocker run --privileged -d -v /path/on/host:/var/lib/docker sirech/dind-ruby



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