TravisCI/Docker: docker 个具有矩阵特征的容器的参数化开始

TravisCI/Docker: parameterized start of docker containers with matrix feature

我有一个软件应该针对作为 Docker 容器提供的大量 WebDAV 后端进行测试。蹩脚的方法是启动 before_install 部分中的所有容器,如

before_install:
- docker run image1
- docker run image2
- ...

这没有多大意义并且会浪费系统资源,因为我只需要在特定的 docker 容器 运行ning 作为测试的一部分 运行.

我的测试配置使用矩阵...可以使用环境变量将 docker 图像配置为 运行 作为矩阵规范的一部分吗? 这归结为两个问题:

?

你的两个问题的答案都是肯定的。

我已经能够使用矩阵配置构建独立的 docker 文件。示例 docker 文件可能看起来像

sudo: required

services:
    - docker

env:
    - DOCKERFILE=dockerfile-1
    - DOCKERFILE=dockerfile-2

before_install:
    - docker build -f $DOCKERFILE .

在这种情况下,将有两个独立的运行,每个运行构建一个单独的图像。如果您的图像位于 docker 中心,您也可以使用 docker pull 命令。