Docker图像的测试工具

Docker图像的测试工具,docker,dockerfile,Docker,Dockerfile,我的一位同事删除了我们的一个Dockerfile中用于PHP托管的mysqli驱动程序,这导致了问题。幸运的是,它是在登台环境中发现的 我们有没有工具可以对docker映像进行单元测试?如果某个基本驱动程序确实不可用,请在CI/CD管道中失败?您知道谷歌的容器映像测试工具吗 该实用程序可以作为工件检查步骤轻松集成到CI/CD管道中 从以下位置下载最新的着色距离: 使用测试对*.yml文件进行去精细化处理 version: 1.1 setup: - apt-get update - apt-

我的一位同事删除了我们的一个Dockerfile中用于PHP托管的mysqli驱动程序,这导致了问题。幸运的是,它是在登台环境中发现的


我们有没有工具可以对docker映像进行单元测试?如果某个基本驱动程序确实不可用,请在CI/CD管道中失败?

您知道谷歌的容器映像测试工具吗

该实用程序可以作为工件检查步骤轻松集成到CI/CD管道中

  • 从以下位置下载最新的着色距离:

  • 使用测试对*.yml文件进行去精细化处理

    
    version: 1.1
    
    setup:
    - apt-get update
    - apt-get install -y tree
    
    tests:
    
    - assume: java version is 1.9, Debian build
     cmd:    java -version
     output:
       contains:
        - openjdk version "9.0.1"
        - build 9.0.1+11-Debian
    
    - assume: curl version is 7.xxx
     cmd:    curl --version
     output:
       startsWith: curl 7.
       matches:
        - "^curl\\s7.*\\n.*\\nProtocols.+ftps.+https.+telnet.*\\n.*\\n$"
       contains:
        - AsynchDNS IDN IPv6 Largefile GSS-API
    
    - assume:  Setup section installed `tree`
     cmd:     tree --version
     output:
       contains: ["Steve Baker", "Florian Sesser"]
    
    
  • 对映像运行测试
    java -jar docker-unittests.jar -f image-tests.yml -i openjdk:9.0.1-11
    
  • 你可以从中找到更多


    请随时提交新问题/问题/等。

    我不知道有什么工具,但我在项目中做了什么,在CI/CD中,我运行“docker exec命令”以获取最重要的部分并分析输出。我构建这些命令,以便它们返回true或false,如果缺少某些内容,则很快就会使管道失败。如果您想同时实现这样的设置并遇到问题,请给我留言。您能给我举一个简单的例子吗?我正在考虑运行
    php-m
    ,并使用一些bash命令进行双重检查,例如,如果您使用mysql运行一个容器,并希望检查它是否使用5.7.24版:docker run--rm数据库:1.0 sh-c'test 1-eq$(mysql--version | grep“5.7.24”| wc l)&&echo OK‘其中database:1.0是我正在测试的映像另一个示例,如果我想确保我的映像使用某个内核版本:docker run--rm ubuntu-based:1.0 sh-c‘test 1-eq$(uname-r | grep“4.9”| wc-l)&&echo OK‘该版本也可以是来自环境或文件的参数
    java -jar docker-unittests.jar -f image-tests.yml -i openjdk:9.0.1-11