
tcwlab/dgossdgossdgoss镜像是一个用于验证容器是否按预期行为和功能运行的工具镜像。该项目封装了goss和dgoss工具,主要聚焦于如何在CI/CD环境中使用这些工具进行容器验证,而非工具本身的详细使用方法。基于Docker官方镜像构建,整合了aelsabbahy的GOSS工具功能。
goss和dgoss工具,提供容器验证能力goss.yaml配置文件定义容器验证规则goss.yaml验证规则文件bash. ├── .gitlab-ci.yml # CI配置文件 ├── Dockerfile # 待测试容器的构建文件 ├── goss # goss配置目录 │ └── goss.yaml # 验证规则定义文件
在CI/CD管道中集成dgoss进行容器验证:
yamlvalidate-image: stage: test image: tcwlab/dgoss:latest variables: # goss配置文件路径(相对于仓库根目录) GOSS_FILES_PATH: goss # 文件策略,用于某些平台的兼容性处理 GOSS_FILES_STRATEGY: cp script: # 运行容器验证,替换<YOUR_CONTAINER_IMAGE>为实际镜像名 - dgoss run -it <YOUR_CONTAINER_IMAGE>
完整配置示例可参考官方仓库。
基础Dockerfile示例(非多阶段构建):
DockerfileFROM tcwlab/dgoss:latest RUN echo "hello from inside"
实际应用示例可参考官方Dockerfile。
定义容器验证规则,示例如下:
yamlfile: # 验证goss二进制文件存在 /usr/bin/goss: exists: true filetype: file # 验证dgoss脚本存在 /usr/bin/dgoss: exists: true filetype: file command: # 验证goss版本 goss: exit-status: 0 # 期望退出状态码 exec: "goss -v" # 执行命令 stdout: # 期望标准输出包含内容 - goss version v0.3.16 stderr: [] # 期望标准错误输出为空 timeout: *** # 超时时间(毫秒) skip: false # 是否跳过该检查 # 验证dgoss命令使用说明 dgoss: exit-status: 1 # 期望退出状态码(未提供参数时) exec: "dgoss" # 执行命令 stdout: [] # 期望标准输出为空 stderr: # 期望标准错误输出包含内容 - USAGE timeout: *** # 超时时间(毫秒) skip: false # 是否跳过该检查
完整配置示例可参考官方goss.yaml。
goss和dgoss详细使用说明见原项目文档项目计划功能和里程碑请查看项目看板。
本项目采用Apache License v2许可。
本项目采用"尽力维护"模式,通过自动化方式进行大部分更新,没有专门的维护团队,不提供任何明示或暗示的担保。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务