是否有推荐的方法来测试Docker撰写文件(理想情况下,作为堆栈部署)?

时间:2019-07-03 11:58:18

标签: docker testing docker-compose docker-swarm

从哲学上讲,应该测试每个软件,有没有办法测试Docker撰写文件?

我们已经知道Docker建议使用sut服务测试单个容器的Dockerfile的方法: https://docs.docker.com/docker-hub/builds/automated-testing/

但是,通常将几个容器组装成services文件的docker-compose.yml。但是,我们尚不知道实施这种测试的任何“推荐”方法(官方文档或社区)。


天真的,我们可以像这样写一些docker-compose.stacktest.yml

version: '3.5'
services:
  stacktest:
    image: my-test-image
    command: test.sh

然后运行类似于:

docker stack deploy -c docker-compose.yml -c docker-compose.stacktest.yml tester

但是我们有兴趣看看是否有更普遍的东西吗?

1 个答案:

答案 0 :(得分:0)

我将采用的方法之一是使用testcontainers-java https://github.com/testcontainers/testcontainers-java 它具有运行docker-compose文件的功能 https://www.testcontainers.org/modules/docker_compose/

想法可能是用Java编写一堆运行docker-compose的测试并在其上写断言。

我从未为此目的尝试过testcontainers-java,但我认为它将起作用